java
文章平均质量分 65
某某凡人
漫漫人生路上,为了努力认清自己,我们不断的低头与抬头
展开
-
java中volatile关键字的含义
有时候,在多线程编程中引入volatile并不能解决并发的问题。 用volatile修饰的变量,线程在每次使用变量的时候,都会读取变量修改后的最的值。 在 java 垃圾回收整理一文中,描述了jvm运行时刻内存的分配。其中有一个内存区域是jvm虚拟机栈,每一个线程运行时都有一个线程栈,线程栈保存了线程运行时候变量值信息。 结论:对于volatile修饰的变量,jvm虚拟机只是保证从主内存加载到线程原创 2015-08-30 11:57:09 · 337 阅读 · 0 评论 -
gc优化小记
前提: 如果满足下面的指标,则一般不需要进行GC: Minor GC执行时间不到50ms; Minor GC执行不频繁,约10秒一次; Full GC执行时间不到1s; Full GC执行频率不算频繁,不低于10分钟1次; 不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择不同的GC策略,调整JVM、GC的参数,可以极大的减少转载 2016-07-06 14:18:30 · 2023 阅读 · 0 评论 -
json解析map内含list,list内又含map这种结构
json解析的法门就是:见到{aa:bb}用map装,见到[aa,bb]用list装就行了!原创 2016-01-12 10:27:47 · 6511 阅读 · 0 评论 -
MessagePack手记1
MessagePack 有两个概念: type system and formats原创 2016-06-24 11:17:44 · 481 阅读 · 0 评论 -
TIMED_WAITING (on object monitor)分析
背景:采用mina和外部进行通信,在发送数据的方法上出现。 tracestack: "" prio=10 tid=0x00007f1c7c1e0000 nid=0x3e31 in Object.wait() [0x00007f1cb48bf000] java.lang.Thread.State: TIMED_WAITING (on object monitor) at jav原创 2016-04-23 18:49:33 · 13521 阅读 · 0 评论 -
关于Map.keySet()踩坑小记
在对map的keyset进行迭代遍历的过程中如果修改了map,此时jdk说了,“the results of the iteration are undefined.”。如果不是用迭代器进行遍历呢? 那我问问大家,如果对map的keyset进行了修改会怎样呢? 答案是,map会跟着收到影响,谨记哦!keyset仅仅是map的一个key的set映射而已,是映射。。不是co原创 2016-04-19 22:13:31 · 2969 阅读 · 0 评论 -
tomcat乱码记录
问题描述: web提交的数据入库后出现如图乱码情况,本地测试没问题。原创 2016-02-18 13:47:17 · 381 阅读 · 0 评论 -
蛋疼的WebService手记
用cxf这种通过反射构造rmi的工具startup阶段真的是各种坑,classnotfound让你一个一个解决完了又开始各种让你找不到是由于什么jar缺失导致的报错。 以下为我总结的一些必须的jar包清单,供以后入坑的小伙伴参考:原创 2016-03-16 12:10:50 · 342 阅读 · 0 评论 -
java Byte[]中的换行符问题以及socket中字符串的传输
首先,“回车”(carriage return)和“换行”(line feed)这两个概念的来历和区别我们可以看看: 在不同的平台上,换行符可能是不同的,例如:原创 2015-11-16 19:12:47 · 13480 阅读 · 0 评论 -
juc包中BlockingQueue的生产者消费者示例
juc包中BlockingQueue的生产者消费者示例原创 2015-10-15 11:15:08 · 407 阅读 · 0 评论 -
对象的状态特性
对象状态的变化一般是由你关心的某属性变化引起的,无状态的对象一般是不可变对象,不可变对象是线程安全的。 无状态的对象,是一个对象,并且这个对象没有状态! 通常情况,几乎所有对象都有状态, 比如一个人,按照不同的情况有多种状态,比如高矮、胖瘦、黑白、高富帅穷矮挫。 比如一个杯子,玻璃的还是塑料,圆的还是方的。 你可以想一下,生活中哪些对象是无状态的? 抽象到程序设计中,无状原创 2015-10-08 20:15:59 · 829 阅读 · 0 评论 -
OSGi中的Service 相关
概念 服务 服务就是:为别人完成的工作。目的:是让别人为你工作,而不是试图自己做一切事情。 和方法调用的区别:服务是指提供者及其使用者之间的一个契约,使用者不关心服务的具体实现,甚至不关心是谁提供的,只要遵守约定的契约即可。 面向服务的设计方式鼓励用即插即用的方式来进行软件开发,这意味着在开发、测试、部署、维护过程中有更大的灵活性。 接口+依赖注入 Java中一转载 2015-10-08 17:51:35 · 1364 阅读 · 0 评论 -
tomcat指定jdk版本
前提: spring加载bean报如下错 Unsupported major.minor version 51.0 (unable to load class xxx.yyy.zzz) 需要jdk1.7及以上版本 解决办法: 因为java -version 的版本是1,6 即环境变量已经设置了1.6的路径。若要额外使用其他版本,只能单独指定。 在tomcat下bin中的ca原创 2016-07-06 17:40:55 · 370 阅读 · 0 评论