随笔分类 -  java基础技术

摘要:Spring 3 and JSR-330 @Inject and @Named example By mkyong | September 16, 2012 | Viewed : 86,399 times By mkyong | September 16, 2012 | Viewed : 86,39 阅读全文
posted @ 2016-07-09 15:42 邱明成 阅读(403) 评论(0) 推荐(0) 编辑
摘要:线程池类为 java.util.concurrent.ThreadPoolExecutor,常用构造方法为: ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, Bl 阅读全文
posted @ 2016-05-02 14:12 邱明成 阅读(485) 评论(0) 推荐(0) 编辑
摘要:Java 6的并发编程包中的SynchronousQueue是一个没有数据缓冲的BlockingQueue,生产者线程对其的插入操作put必须等待消费者的移除操作take,反过来也一样。 不像ArrayBlockingQueue或LinkedListBlockingQueue,Synchronous 阅读全文
posted @ 2016-05-02 13:42 邱明成 阅读(287) 评论(0) 推荐(0) 编辑
摘要:一、简介 JVM采用分代垃圾回收。在JVM的内存空间中把堆空间分为年老代和年轻代。将大量(据说是90%以上)创建了没多久就会消亡的对象存储在年轻代,而年老代中存放生命周期长久的实例对象。年轻代中又被分为Eden区(圣经中的伊甸园)、和两个Survivor区。新的对象分配是首先放在Eden区,Surv 阅读全文
posted @ 2016-05-01 12:34 邱明成 阅读(485) 评论(0) 推荐(1) 编辑
摘要:当Eden区域满时,触发minor GC,垃圾收集器把Eden区域中的不可达对象标记出来。第一次执行minor GC时Survivor 1与Survivor 2均为空; Eden中的不可达对象占用的内存被回收,存活的对象将被移动到一个Survivor中(一定程度解决内存碎片问题),另外一个Survi 阅读全文
posted @ 2016-05-01 11:26 邱明成 阅读(590) 评论(0) 推荐(0) 编辑
摘要:除了加锁外,其实还有一种方式可以防止并发修改异常,这就是将读写分离技术(不是数据库上的)。 先回顾一下一个常识: 1、JAVA中“=”操作只是将引用和某个对象关联,假如同时有一个线程将引用指向另外一个对象,一个线程获取这个引用指向的对象,那么他们之间不会发生ConcurrentModificatio 阅读全文
posted @ 2016-04-30 17:16 邱明成 阅读(260) 评论(0) 推荐(0) 编辑
摘要:引言:以前只是看过介绍volatile的文章,对其的理解也只是停留在理论的层面上,由于最近在项目当中用到了关于并发方面的技术,所以下定决心深入研究一下java并发方面的知识。网上关于volatile的文章非常多,但是并没有讲解非常详细的文章。(哪位要是有好的资料麻烦共享一份给我!)多数的都是一些理论 阅读全文
posted @ 2016-04-28 21:50 邱明成 阅读(341) 评论(1) 推荐(0) 编辑
摘要:JVM采用分代的垃圾回收策略:不同的对象的生命周期是不一样的。因此,不同生命周期的对象可以采取不同的收集方式,以便提高回收效率。 从垃圾回收角度看内存分配 从JVM垃圾回收的角度来看,Java内存分为三个区:新生代(Young Generation)、老年代(Old Generation)和持久代( 阅读全文
posted @ 2016-04-28 19:00 邱明成 阅读(580) 评论(0) 推荐(0) 编辑
摘要:Java 并发工具包 java.util.concurrent 用户指南 标签: 多线程并发异步java.util.concurrentJava多线程 2015-03-03 09:40 16042人阅读 评论(5) 收藏 举报 标签: 多线程并发异步java.util.concurrentJava多 阅读全文
posted @ 2016-04-28 15:25 邱明成 阅读(2078) 评论(1) 推荐(3) 编辑
摘要:HashTable和HashMap区别 第一,继承不同。 第二 Hashtable 中的方法是同步的,而HashMap中的方法在缺省情况下是非同步的。在多线程并发的环境下,可以直接使用Hashtable,但是要使用HashMap的话就要自己增加同步处理了。 第三 Hashtable中,key和val 阅读全文
posted @ 2016-04-25 21:45 邱明成 阅读(389) 评论(0) 推荐(0) 编辑
摘要:什么是机器码 机器码 机器码(machine code),学名机器语言指令,有时也被称为原生码(Native Code),是电脑的CPU可直接解读的数据。 通常意义上来理解的话,机器码就是计算机可以直接执行,并且执行速度最快的代码。 用机器语言编写程序,编程人员要首先熟记所用计算机的全部指令代码和代 阅读全文
posted @ 2016-04-17 08:46 邱明成 阅读(22512) 评论(1) 推荐(6) 编辑
摘要:Java整个编译以及运行的过程相当繁琐,本文通过一个简单的程序来简单的说明整个流程。 如下图,Java程序从源文件创建到程序运行要经过两大步骤:1、源文件由编译器编译成字节码(ByteCode) 2、字节码由java虚拟机解释运行。因为java程序既要编译同时也要经过JVM的解释运行,所以说Java 阅读全文
posted @ 2016-04-16 15:58 邱明成 阅读(71364) 评论(3) 推荐(27) 编辑
摘要:当你使用synchronized关键字的时候,是通过互斥器来保障线程安全以及对共享资源的同步访问。线程间也经常需要更进一步的协调执行,来完成复杂的并发任务,比如wait/notify模式就是一种在多线程环境下的协调执行机制。 通过API来获取和释放锁(使用互斥器)或者调用wait/notify等方法 阅读全文
posted @ 2016-04-14 21:31 邱明成 阅读(459) 评论(0) 推荐(0) 编辑
摘要:PipedInputStream类与PipedOutputStream类用于在应用程序中创建管道通信.一个PipedInputStream实例对象必须和一个PipedOutputStream实例对象进行连接而产生一个通信管道.PipedOutputStream可以向管道中写入数据,PipedIntp 阅读全文
posted @ 2016-03-30 13:00 邱明成 阅读(1378) 评论(0) 推荐(0) 编辑
摘要:-Dlogback.configurationFile=file:///export/Workspace/apache-cassandra/apache-cassandra-main/target/build/conf/logback.xml 阅读全文
posted @ 2016-03-13 16:05 邱明成 阅读(2681) 评论(0) 推荐(0) 编辑
摘要:一、创建Servlet对象的时机 1、Servlet容器启动时:读取web.xml配置文件中的信息,构造指定的Servlet对象,创建ServletConfig对象,同时将ServletConfig对象作为参数来调用Servlet对象的init方法。 2、在Servlet容器启动后:客户首次向Ser 阅读全文
posted @ 2016-03-10 21:42 邱明成 阅读(178) 评论(0) 推荐(0) 编辑
摘要:1,一致性hash函数选择 crc32(范围为0到2的32次方),超过最大值,需要求模 ;md5,求得16进制数据,超过最大值,需要求模 ; 2,对cache server的虚拟节点的某些唯一属性或者属性组合使用第一条中提到的hash函数,将其散列到圆环上; 3,对数据的key使用与第二条相同的ha 阅读全文
posted @ 2016-03-10 21:23 邱明成 阅读(172) 评论(0) 推荐(0) 编辑
摘要:如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。 Java虚拟机规范中对垃圾收集器应该如何实现并没有任何规定,因此不同的厂商、不同版本的虚拟机所提供的垃圾收集器都可能会有很大差别,并且一般都会提供参数供用户根据自己的应用特点和要求组合出各个年代所使用的收集器。 HotSpot 阅读全文
posted @ 2016-03-10 11:21 邱明成 阅读(303) 评论(0) 推荐(0) 编辑
摘要:ParNew收集器其实就是Serial收集器的多线程版本,除了使用多条线程进行垃圾收集之外,其余行为包括Serial收集器可用的所有控制参数,其中Par是Paralle简写l 并行(Parallel):指多条垃圾收集线程并行工作,但此时用户线程仍然处于等待状态。 并发(Concurrent):指用户 阅读全文
posted @ 2016-03-10 11:17 邱明成 阅读(561) 评论(0) 推荐(1) 编辑
摘要:CMS(Concurrent Mark-Sweep)是以牺牲吞吐量为代价来获得最短回收停顿时间的垃圾回收器。对于要求服务器响应速度的应用上,这种垃圾回收器非常适合。在启动JVM参数加上-XX:+UseConcMarkSweepGC ,这个参数表示对于老年代的回收采用CMS 阅读全文
posted @ 2016-03-10 11:14 邱明成 阅读(622) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示