- 浏览: 2653162 次
- 来自: 杭州
文章分类
- 全部博客 (1188)
- webwork (4)
- 网摘 (18)
- java (103)
- hibernate (1)
- Linux (85)
- 职业发展 (1)
- activeMQ (2)
- netty (14)
- svn (1)
- webx3 (12)
- mysql (81)
- css (1)
- HTML (6)
- apache (3)
- 测试 (2)
- javascript (1)
- 储存 (1)
- jvm (5)
- code (13)
- 多线程 (12)
- Spring (18)
- webxs (2)
- python (119)
- duitang (0)
- mongo (3)
- nosql (4)
- tomcat (4)
- memcached (20)
- 算法 (28)
- django (28)
- shell (1)
- 工作总结 (5)
- solr (42)
- beansdb (6)
- nginx (3)
- 性能 (30)
- 数据推荐 (1)
- maven (8)
- tonado (1)
- uwsgi (5)
- hessian (4)
- ibatis (3)
- Security (2)
- HTPP (1)
- gevent (6)
- 读书笔记 (1)
- Maxent (2)
- mogo (0)
- thread (3)
- 架构 (5)
- NIO (5)
- 正则 (1)
- lucene (5)
- feed (4)
- redis (17)
- TCP (6)
- test (0)
- python,code (1)
- PIL (3)
- guava (2)
- jython (4)
- httpclient (2)
- cache (3)
- signal (1)
- dubbo (7)
- HTTP (4)
- json (3)
- java socket (1)
- io (2)
- socket (22)
- hash (2)
- Cassandra (1)
- 分布式文件系统 (5)
- Dynamo (2)
- gc (8)
- scp (1)
- rsync (1)
- mecached (0)
- mongoDB (29)
- Thrift (1)
- scribe (2)
- 服务化 (3)
- 问题 (83)
- mat (1)
- classloader (2)
- javaBean (1)
- 文档集合 (27)
- 消息队列 (3)
- nginx,文档集合 (1)
- dboss (12)
- libevent (1)
- 读书 (0)
- 数学 (3)
- 流程 (0)
- HBase (34)
- 自动化测试 (1)
- ubuntu (2)
- 并发 (1)
- sping (1)
- 图形 (1)
- freemarker (1)
- jdbc (3)
- dbcp (0)
- sharding (1)
- 性能测试 (1)
- 设计模式 (2)
- unicode (1)
- OceanBase (3)
- jmagick (1)
- gunicorn (1)
- url (1)
- form (1)
- 安全 (2)
- nlp (8)
- libmemcached (1)
- 规则引擎 (1)
- awk (2)
- 服务器 (1)
- snmpd (1)
- btrace (1)
- 代码 (1)
- cygwin (1)
- mahout (3)
- 电子书 (1)
- 机器学习 (5)
- 数据挖掘 (1)
- nltk (6)
- pool (1)
- log4j (2)
- 总结 (11)
- c++ (1)
- java源代码 (1)
- ocr (1)
- 基础算法 (3)
- SA (1)
- 笔记 (1)
- ml (4)
- zokeeper (0)
- jms (1)
- zookeeper (5)
- zkclient (1)
- hadoop (13)
- mq (2)
- git (9)
- 问题,io (1)
- storm (11)
- zk (1)
- 性能优化 (2)
- example (1)
- tmux (1)
- 环境 (2)
- kyro (1)
- 日志系统 (3)
- hdfs (2)
- python_socket (2)
- date (2)
- elasticsearch (1)
- jetty (1)
- 树 (1)
- 汽车 (1)
- mdrill (1)
- 车 (1)
- 日志 (1)
- web (1)
- 编译原理 (1)
- 信息检索 (1)
- 性能,linux (1)
- spam (1)
- 序列化 (1)
- fabric (2)
- guice (1)
- disruptor (1)
- executor (1)
- logback (2)
- 开源 (1)
- 设计 (1)
- 监控 (3)
- english (1)
- 问题记录 (1)
- Bitmap (1)
- 云计算 (1)
- 问题排查 (1)
- highchat (1)
- mac (3)
- docker (1)
- jdk (1)
- 表达式 (1)
- 网络 (1)
- 时间管理 (1)
- 时间序列 (1)
- OLAP (1)
- Big Table (0)
- sql (1)
- kafka (1)
- md5 (1)
- springboot (1)
- spring security (1)
- Spring Boot (3)
- mybatis (1)
- java8 (1)
- 分布式事务 (1)
- 限流 (1)
- Shadowsocks (0)
- 2018 (1)
- 服务治理 (1)
- 设计原则 (1)
- log (0)
- perftools (1)
最新评论
-
siphlina:
课程——基于Python数据分析与机器学习案例实战教程分享网盘 ...
Python机器学习库 -
san_yun:
leibnitz 写道hi,我想知道,无论在92还是94版本, ...
hbase的行锁与多版本并发控制(MVCC) -
leibnitz:
hi,我想知道,无论在92还是94版本,更新时(如Puts)都 ...
hbase的行锁与多版本并发控制(MVCC) -
107x:
不错,谢谢!
Latent Semantic Analysis(LSA/ LSI)算法简介 -
107x:
不错,谢谢!
Python机器学习库
package test; import java.util.Collections; import java.util.Iterator; import java.util.Set; import java.util.TreeSet; public class Main { private Set<Integer> set = Collections .synchronizedSet(new TreeSet<Integer>()); public Main() { super(); } public void print() { // System.out.println("print:"+Thread.currentThread().getName()); Iterator<Integer> it = set.iterator(); while (it.hasNext()) { Integer num = it.next(); System.out.print(num); } } public void add(int i) { // System.out.println("add:"+Thread.currentThread().getName()); set.add(i); } public void remove(int i) { // System.out.println("rempove:"+Thread.currentThread().getName()); if (set.contains(i)) { set.remove(i); } } /** * @param args */ public static void main(String[] args) { final Main main = new Main(); Runnable run1 = new Runnable() { @Override public void run() { while (true) { main.print(); System.out.println(""); } } }; Runnable run2 = new Runnable() { @Override public void run() { while (true) { for (int i = 0; i < 10; ++i) { main.add(i); } } } }; Runnable run3 = new Runnable() { @Override public void run() { while (true) { for (int i = 0; i < 10; ++i) { main.remove(i); } } } }; new Thread(run1).start(); new Thread(run2).start(); new Thread(run3).start(); } }
发表评论
-
Raft
2018-07-12 14:20 734前言 上篇文章说解决问题要分而治之,先把分片的问题解决了再 ... -
java uuid
2017-09-14 18:18 555在java中产生uuid的方式是使用java.util.UU ... -
JAVA 编码规范
2017-09-06 11:34 406https://google.github.io/style ... -
mac 入门
2015-12-01 16:28 622http://foocoder.com/blog/wo-zai ... -
java 反编译工具gad
2014-05-09 12:04 963java 反编译工具gad,备个份。 -
java 代码大全(code book)
2014-04-29 10:59 1060参考这里: http://www.java2s.com/C ... -
SQL语法解析器JSQLParser
2014-02-09 19:53 2138SQL 语法解释器jsqlparser 是用java ... -
BufferedInputStream 深入研究。
2013-11-19 13:26 14181. BufferedInputStream的基本原理 ... -
java 启动脚本
2013-08-22 19:08 976java 启动脚本 #!/bin/bash cmd=&q ... -
CRLF escape
2013-08-06 17:51 1192最近需要对用户输入的CRLF即(\r\n)做escape, ... -
安全的自增类
2013-07-22 18:16 982java中一个计数器如果超过MAX_VALUE再自增会如何? ... -
solr日志被block的问题
2013-05-23 16:48 1255"catalina-exec-22386" ... -
beanMapper
2013-01-13 22:43 885实在被一堆get,set搞烦了,周末写了一个beanMappe ... -
java instanceof ,isInstance(),isAssignableFrom之前的差异
2013-01-06 11:00 958public class ItemQuery { ... -
通过gzip对字符串压缩
2012-12-22 18:10 3102通过GZIPOutputStream,GZIPInputStr ... -
关于URL编码
2012-12-21 14:18 1102一、问题的由来 URL就是网址,只要上网,就一定会用到。 ... -
spring的FactoryBean机制
2012-11-20 16:18 1221spring可以通过的FactoryBean的形式把一个Fac ... -
HashMap cpu占用 100%
2012-11-10 22:22 1805今天在重现出HashMap cpu占用100%了,只 ... -
文字扫描工具--java.util.Scanner
2012-11-10 14:33 1092A simple text scanner which c ... -
一个隐形的java int溢出
2012-11-06 22:17 1103故事的背景: 笔者最近在做一个类SNS的项目, ...
相关推荐
线程安全是并发编程中的核心概念,确保多个线程在共享数据时不会引发错误或不一致状态。线程安全可以通过几种方式实现: 1. **互斥**:通过锁机制(如synchronized关键字)来确保同一时间只有一个线程能访问特定...
如果不希望立即返回错误,可以选择使用WAIT子句指定等待时间,如`FOR UPDATE WAIT 3`。 2. **乐观锁定** - **定义**:与悲观锁相对,乐观锁假设并发冲突较少,因此在数据更新时不锁定数据,而是在提交更新时检查...
- 如果遇到错误提示“`No X11 DISPLAY variable was set, but this program performed an operation which requires it.`”,说明图形界面无法正常启动。这时可以采用命令行模式运行JMeter。 #### 二、JMeter脚本...
通过命令行执行`appcmd setconfig /section:serverRuntime /appConcurrentRequestLimit:100000`,将IIS允许的最大并发请求限制设置为100000,确保能够处理大量的并发请求。 **步骤三:修改machine.config** 打开`%...
软错误的原因通常分为两种:单事件翻转(SEU)和单事件瞬态(SET)。SEU主要出现在SRAM、锁存器、触发器等时序逻辑中,占所有软错误的绝大多数。SET则在组合逻辑中较为常见。针对这些情况,器件设计和工艺中必须采取防护...
SqlCommand updateCmd = new SqlCommand("UPDATE YourTable SET Data = @data WHERE Id = @id AND Timestamp = @originalTimestamp", conn); updateCmd.Parameters.AddWithValue("@data", tbValue.Text); updateCmd....
在MySQL数据库中,当涉及到并发更新数据时,正确处理这些操作以确保数据一致性至关重要。本文主要探讨了在并发环境中MySQL如何处理UPDATE语句,以及两种常见的解决方案:通过事务显式加锁和使用乐观锁机制。 首先,...
- **处理错误和异常**:通过 `-setExecutionBlock:` 方法中的异常处理逻辑来确保程序的健壮性。 #### 2.8 为Operation对象确定一个适当的范围 根据操作的性质,确定合适的执行范围是非常重要的。例如,对于耗时较...
实际项目中,你可能还需要处理错误、优化性能,以及更复杂的回调逻辑。 通过学习和实践这些概念,你将能够熟练地使用libcurl库在C++环境中构建高效的网络应用,无论是进行并发请求还是实现异步处理,都能得心应手。...
`golang-set`库提供了一种实现,包括线程安全和非线程安全的高性能集,非常适合在Go的并发环境中使用。 首先,我们要理解什么是线程安全和非线程安全。线程安全指的是在多线程环境下,一个函数或方法在同一时刻可以...
但是,当多个线程同时修改BitSet时,由于这些操作不是原子的,可能会导致数据竞争,从而引发错误的结果。 为了在多线程环境下使用BitSet,有几种策略可以考虑: 1. **同步访问**:可以使用synchronized关键字对...
在实际开发中,还需要考虑错误处理、资源管理、性能优化等多方面因素,以确保系统的稳定性和高效性。在"4_tcp_concurrent_select"这个文件中,可能包含了具体的代码示例和详细实现过程,供开发者参考学习。
// 错误处理 // ... } else if (activity > 0) { if (FD_ISSET(server_fd, &read_fds)) { // 有新的连接请求 // ... } else { // 已连接的客户端有数据可读 for (int i = 0; i ; ++i) { if (FD_ISSET(i, &...
53. SET LOGERRORS:决定是否记录编译错误到文本文件,便于后期分析。 54. SET MACHELP:管理“Microsoft FoxPro帮助”菜单项的行为。 55. SET MACKEY:定义宏键,为特定功能创建快捷键。 以上就是VFP的SET命令...
总结,`select()`系统调用和`fd_set`是实现并发I/O的重要工具,尤其在需要管理大量并发连接的网络服务中。通过合理的使用,可以有效地提高程序的效率和响应速度。然而,需要注意的是,`select()`存在文件描述符数量...
PHP的`stream_socket_client()`函数可以配合`stream_set_blocking()`设置为非阻塞模式,使得在一个循环中,即使某个连接还在等待响应,其他连接也可以继续尝试建立。这样,可以在一个循环中并发地发起多个请求。 4....
2. 错误处理:在使用Qtsnmp进行SNMP通信时,必须处理可能的错误,如超时、通信失败等。 3. 安全性:SNMP操作通常涉及社区字符串,这相当于访问密码。确保其安全性,避免未授权访问。 4. 并发处理:在多线程或异步...
在清单1中,`_set`变量被声明为`volatile`,但`_set++`操作并不是原子的,这意味着在无锁保护的情况下,多线程环境下可能会产生竞态条件,导致错误的`_set`值。要避免这种问题,开发者应确保对`volatile`变量的非...
1. **非阻塞I/O**:在非阻塞模式下,当Socket无法立即完成读写操作时,不会阻塞调用,而是立即返回一个错误状态,从而让主线程可以继续处理其他任务。 2. **事件驱动编程**:利用如select、poll或epoll等系统调用来...