关闭

[Java并发包学习七]解密ThreadLocal

转自: http://qifuguang.me/2015/09/02/[Java%E5%B9%B6%E5%8F%91%E5%8C%85%E5%AD%A6%E4%B9%A0%E4%B8% 概述 相信读者在网上也看了很多关于ThreadLocal的资料,很多博客都这样说:ThreadLocal为解决多线程程序的并发问题提供了一种新的思路;ThreadLocal的目...
阅读(44) 评论(0)

Java中的四种引用

转自:http://blog.csdn.net/qq_23547831/article/details/46505287 Java中存在四种引用,它们分别是: 1. 强引用(StrongReference)  强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器绝不会回收它。当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错...
阅读(340) 评论(0)

JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof使用详解

转自:https://my.oschina.net/feichexia/blog/196575 即使有oom什么的,都能通过查看代码发现,一直没遇到需要使用这些命令的情况,真不知道是幸运还是不幸。 现实企业级Java开发中,有时候我们会碰到下面这些问题: OutOfMemoryError,内存不足 内存泄露 线程死锁 锁争用(Lock Contentio...
阅读(154) 评论(0)

死锁产生和解决

面试题,之前没在意,这里学习了解下。死锁的产生产生死锁的原因 因为系统资源不足,并发的请求就会有竞争,产生锁; 进程运行推进的顺序和速度不合适,例如事务性的流程,会多步骤执行,如推进顺序错乱,会产生死锁; 资源分配不当等,同1。 产生死锁的四个必要条件 互斥条件:一个资源每次只能被一个进程使用。 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。 不剥夺条件:进程已获得的资源,在末...
阅读(103) 评论(0)

Spring Batch 构建批处理应用2

转自:http://www.ibm.com/developerworks/cn/java/j-lo-springbatch2/ 使用spring batch批处理,感觉可以入门。之前工作中自己用的是线程池生产-消费模式做的批处理,下次有机会可以尝试batch试试。 前言 在本系列文章的第 1 部分,我们搭建了一个用户缴费通知的批处理任务。尽管这个简单的应用展现了 Spring ...
阅读(397) 评论(0)

JVM调优总结 -Xms -Xmx -Xmn -Xss

堆大小设置 JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。 典型设置: java -Xmx3550m -Xms355...
阅读(202) 评论(0)

转载-cpu伪共享问题

CPU内部也会有自己的缓存,内部的缓存单位是行,叫做缓存行。在多核环境下会出现CPU之间的内存同步问题(比如一个核加载了一份缓存,另外一个核也要用到同一份数据),如果每个核每次需要时都往内存中存取,这会带来比较大的性能损耗,这个问题一般是通过MESI协议来解决的。           MESI协议中包含M、E、S、I四个状态,分别的意思是: M(修改, Modified):...
阅读(152) 评论(0)

代码生成rapid-generator源码分析

原理 rapid-generator rapidDemo 假设有mysql数据库和表 修改generatorxml文件发在代码根目录就行生成代码会在classes目录加载配置文件主要是 模板文件 生成代码 rapid生成的代码文件 源码分析 常用类 加载配置文件 获取数据库元数据 构建输出模型和处理输出 总结 一个bug 感谢那位哥们提供了这样的好工具之前有个项目比较紧急,基本上开发和设计同步进行,...
阅读(1855) 评论(6)

java-Date\Time\TimeStamp

之前用到的时候,有的地方会混淆,项目代码写完了,周五休息下,正好看看学习下。 java.util.Date 年月日时分秒; java.sql.Date 年月日,对应数据库Date; java.sql.Time 时分秒,对应数据库Time; java.sql.Timestamp 年月日时分秒毫秒,对应数据库Timestamp; 各自的构造函数,现在基本都是传入Long型设置; getTime()方法获...
阅读(312) 评论(0)

编译JDK源代码,开启Debug信息

看JUC源码的时候,想debug查看一些本地变量,不行,然后百度之,找到一个方法,仅此记录!百分百可以! 用Eclipse Debug,当跟踪进jdk api里时(比如javax.swing包里的类),无法查看某些local filed的值。这是因为jdk里的代码在打包时删除了一些用于调试的信息,以减小安装包的体积。不过可以通过重新编译jdk源代码来恢复此功能。 1.在Eclips...
阅读(367) 评论(0)

Eclipse 控制台中文乱码

一个坑跳了2次,记录下,eclipse中文在控制台打印乱码。run->run configurations->commons->GBK:...
阅读(168) 评论(0)

linux 命令

一些常用命令老是忘记,百度记录下,随时添加,谢谢原创 ----------------------------------------------------- 假如,你想在当前目录下的所有普通文件中搜索查找包含:liehuo.net 这个词的文件,那么命令如下:    1.# find . -name \* -type f -print | xargs grep “liehuo.n...
阅读(196) 评论(0)

java类加载说明

明天端午,下午回家,我的JUC也一时半会看不完,就随手看看阿里中间件博客http://jm.taobao.org上的文章,看到spi的东西,就想想好像java类加载进制不是特别清楚,虽说知道有3层,什么双亲委托,但是还是有点模糊,哎,赶紧学习吧,这里写下来,省的以后忘记。 千言万语不如一行代码,先看代码: public class Hello { public static ...
阅读(189) 评论(0)

java关键字-final语义

转载:http://www.infoq.com/cn/articles/java-memory-model-6/ 对java关键字final的解析,以前都没关注过final竟然这些东西。 与前面介绍的锁和volatile相比较,对final域的读和写更像是普通的变量访问。对于final域,编译器和处理器要遵守两个重排序规则: 在构造函数内对一个final域的写入,与随后把这个被...
阅读(567) 评论(0)

spring的bean获取项目根目录

昨天碰见个问题,maven打包多模块的web项目。将spring的bean配置在远程调度系统,调度系统通过发送调度命令到本地,本地通过线程池调用spring的bean。在service模块打包的jar中,我需要保存一些文件到本地,因为不是通过web调用,所以获取不到项目根目录,当时也没想到有什么好办法。所以就直接保存到系统目录,代码做预判,目录不存在就新建,在window下,创建目录都没有问题,但...
阅读(1152) 评论(0)

ConcurrentHashMap、synchronized与线程安全

转自:http://blog.csdn.net/sadfishsc/article/details/42394955 最近做的项目中遇到一个问题:明明用了ConcurrentHashMap,可是始终线程不安全 除去项目中的业务逻辑,简化后的代码如下: [java] view plain copy public class Test...
阅读(176) 评论(0)

NoSuchMethodError

转自:http://www.cnblogs.com/xiaoMzjm/p/4566672.html?utm_source=tuicool&utm_medium=referral,不错,虽然没解决问题,但是也提供了不错的思路。 最近接手新项目,项目一跑,NoSuchMethodError蹦出来了,好不容易解决了,换一个电脑,NoSuchMethodError又蹦出来了,干脆,总结下遇到NoSu...
阅读(303) 评论(0)

jQuery插件开发

以前看到的一篇文章,不错http://www.cnblogs.com/Wayou/p/jquery_plugin_tutorial.html 要说jQuery 最成功的地方,我认为是它的可扩展性吸引了众多开发者为其开发插件,从而建立起了一个生态系统。这好比大公司们争相做平台一样,得平台者得天下。苹果,微软,谷歌等巨头,都有各自的平台及生态圈。 学会使用jQuery并不难...
阅读(287) 评论(0)

java注解的Inherited

在学习netty5.0源码时,发现没有了之前的in-outbound的概念,而是通过AdapterAbstractChannelHandlerContext中skipFlags来区分的。skipFlags又是通过解析channelhandler类中方法的skip注解来获的。 后来就研究了下java注解的继承关系,发现有没有Inherited元注解,加在类还是方法上还是有些区分的。 看下元注解I...
阅读(565) 评论(0)

java位操作符

用在哪里: 1.状态标识:n多状态需要区分,当然可以直接用枚举0、1、2这样子标识,但是用1 2.标识选择项:前台界面n多下拉框选择项,最后你可以用一个位操作全部放在一个字段标识。 以下转自:http://www.blogjava.net/zhaomingchao/articles/298318.html 二进制负数以它正值的补码形式表达 补码:反码+1等于补码 比如:...
阅读(185) 评论(0)
32条 共2页1 2 下一页 尾页
    个人资料
    • 访问:62401次
    • 积分:1347
    • 等级:
    • 排名:千里之外
    • 原创:62篇
    • 转载:72篇
    • 译文:1篇
    • 评论:15条
    最新评论