- 博客(30)
- 资源 (4)
- 收藏
- 关注
转载 深入理解java异常处理机制
转自:http://blog.csdn.net/hguisu/article/details/61556361. 引子 try…catch…finally恐怕是大家再熟悉不过的语句了,而且感觉用起来也是很简单,逻辑上似乎也是很容易理解。不过,我亲自体验的“教训”告诉我,这个东西可不是想象中的那么简单、听话。不信?那你看看下面的代码,“猜猜”它执行后的结果
2017-02-20 15:37:48 619
转载 面试的角度诠释Java工程师(二)
转自:http://www.importnew.com/23557.html续言:相信每一位简书的作者,都会有我这样的思考:怎么写好一篇文章?或者怎么写好一篇技术类的文章?我就先说说我的感悟吧,写文章其实和写程序是一样的。为什么我会说它们是一样的?简单思考一下……程序:程序是由某语言的工程师用一段段代码逻辑连贯出来的,或许当事人是看得懂滴,但是问题是你要让项目经
2017-02-19 20:35:33 638
转载 面试的角度诠释Java工程师(一)
转自:http://www.importnew.com/23549.html前言:我相信每一个程序员都是为了生活而努力着的。很多人因为兴趣,从此踏上了这条‘烧脑大行动’的金桥;也有很多人因为梦想和执着,奋不顾身融入这个职业;还有很多人因为被现实逼得太无奈,不得不为自己、为家人、为未来谋这么一条坎坷的路。这里,我不去评价什么,再说我也没有资格去评价啊。言归正传,下面我
2017-02-19 20:31:21 1737
转载 阿里面试回来,想和Java程序员谈一谈
转自:http://www.importnew.com/22056.html#comment-541171引言其实本来真的没打算写这篇文章,主要是LZ得记忆力不是很好,不像一些记忆力强的人,面试完以后,几乎能把自己和面试官的对话都给记下来。LZ自己当初面试完以后,除了记住一些聊过的知识点以外,具体的内容基本上忘得一干二净,所以写这篇文章其实是很有难度的。
2017-02-19 20:14:45 2202 1
转载 JDBC操作数据库基本步骤
转自:http://jokerlinisty.iteye.com/blog/21983991、JDBC概念 1)从物理结构:JDBC是Java语言访问数据库的一套接口(API)集合。 2)从本质上:JDBC是调用者(开发人员)和实现者(数据库厂商)之间的协议。 3)JDBC的实现由数据库厂商以驱动程序的形式提供。 4)开发人员借助JDBC的API,就
2017-02-17 14:51:36 2104 1
转载 理解并发编程的几种"性" -- 可见性,有序性,原子性
转自:http://blog.sina.com.cn/s/blog_4adc4b090102whzx.html这篇的主题本应该放在最初的几篇,讨论的是并发编程最基础的几个核心概念,但是这几个概念又牵扯到很多的实际技术,比如Java内存模型,各种锁的实现,volatile的实现,原子变量等等,每一个都可以展开写很多,尤其是Java内存模型,网上已经能够有很几篇不错的文章,暂时不想
2017-02-16 11:08:41 674
转载 深入分析Volatile的实现原理
本文属于作者原创,原文发表于InfoQ:http://www.infoq.com/cn/articles/ftf-java-volatile引言在多线程并发编程中synchronized和Volatile都扮演着重要的角色,Volatile是轻量级的synchronized,它在多处理器开发中保证了共享变量的“可见性”。可见性的意思是当一个线程修改一个共享变量时,另外一个线程能读到这个修改
2017-02-16 10:17:18 775
转载 解密ThreadLocal
转自:http://qifuguang.me/2015/09/02/%5BJava%E5%B9%B6%E5%8F%91%E5%8C%85%E5%AD%A6%E4%B9%A0%E4%B8%83%5D%E8%A7%A3%E5%AF%86ThreadLocal/相信读者在网上也看了很多关于ThreadLocal的资料,很多博客都这样说:ThreadLocal为解决多线程程序的并发问题提供了一
2017-02-15 16:07:03 395
转载 深入理解ThreadLocal
转自:https://my.oschina.net/clopopo/blog/149368学习一个东西首先要知道为什么要引入它,就是我们能用它来干什么。所以我们先来看看ThreadLocal对我们到底有什么用,然后再来看看它的实现原理。 ThreadLocal如果单纯从名字上来看像是“本地线程"这么个意思,只能说这个名字起的确实不太好,很容易让人产生误解,ThreadLocalVa
2017-02-15 12:39:04 460
转载 Java虚拟机学习 - 垃圾收集器
转自:http://blog.csdn.net/java2000_wl/article/details/8030172HotSpot JVM收集器 上面有7中收集器,分为两块,上面为新生代收集器,下面是老年代收集器。如果两个收集器之间存在连线,就说明它们可以搭配使用。Serial(串行GC)收集器Serial收集器是一个
2017-02-15 10:23:50 221
转载 JVM调优总结(十一)-反思
转自:http://pengjiaheng.iteye.com/blog/558619垃圾回收的悖论 所谓“成也萧何败萧何”。Java的垃圾回收确实带来了很多好处,为开发带来了便利。但是在一些高性能、高并发的情况下,垃圾回收却成为了制约Java应用的瓶颈。目前JDK的垃圾回收算法,始终无法解决垃圾回收时的暂停问题,因为这个暂停严重影响了程序的响应时间,造成拥塞或堆积。这也是后
2017-02-15 10:15:07 380
转载 JVM调优总结(十)-调优方法
转自:http://pengjiaheng.iteye.com/blog/552456JVM调优工具Jconsole,jProfile,VisualVMJconsole : jdk自带,功能简单,但是可以在系统有一定负荷的情况下使用。对垃圾回收算法有很详细的跟踪。详细说明参考这里 JProfiler:商业软件,需要付费。功能强大。详细说明参考这里 Vis
2017-02-14 17:16:05 281
转载 JVM调优总结(九)-新一代的垃圾回收算法
转自:http://pengjiaheng.iteye.com/blog/548472垃圾回收的瓶颈 传统分代垃圾回收方式,已经在一定程度上把垃圾回收给应用带来的负担降到了最小,把应用的吞吐量推到了一个极限。但是他无法解决的一个问题,就是Full GC所带来的应用暂停。在一些对实时性要求很高的应用场景下,GC暂停所带来的请求堆积和请求失败是无法接受的。这类应用可能要求请求的返回时
2017-02-14 16:47:28 259
转载 JVM调优总结(八)-典型配置举例2
转自:http://pengjiaheng.iteye.com/blog/545015常见配置汇总堆设置 -Xms:初始堆大小 -Xmx:最大堆大小 -XX:NewSize=n:设置年轻代大小 -XX:NewRatio=n:设置年轻代和年老代的比值。如:为3,表示年轻代与年老代比值为1:3,年轻代占整个年轻代年老代和的1/4 -XX:Survivo
2017-02-14 16:17:37 292
转载 JVM调优总结(七)-典型配置举例1
转自:http://pengjiaheng.iteye.com/blog/538582以下配置主要针对分代垃圾回收算法而言。 堆大小设置年轻代的设置很关键JVM中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。在Windo
2017-02-14 16:12:41 268
转载 JVM调优总结(六)-分代垃圾回收详述2
转自:http://pengjiaheng.iteye.com/blog/528034分代垃圾回收流程示意 选择合适的垃圾收集算法串行收集器 用单线程处理所有垃圾回收工作,因为无需多线程交互,所以效率比较高。但是,也无法使用多处理器的优势,所以此收集器适合单处理器机器。当然,此收集器也可以用在小数据量(100M左右)情况下的多处理器机器上。可以使用-
2017-02-14 15:02:56 294
转载 聊聊JVM的年轻代
1.为什么会有年轻代我们先来屡屡,为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以,分代的唯一理由就是优化GC性能。你先想想,如果没有分代,那我们所有的对象都在一块,GC的时候我们要找到哪些对象没用,这样就会对堆的所有区域进行扫描。而我们的很多对象都是朝生夕死的,如果分代的话,我们把新创建的对象放到某一地方,当GC的时候先把这块存“朝生夕死”对象的区域进行回收,这样就会腾出
2017-02-14 14:29:27 264
转载 JVM调优总结(五)-分代垃圾回收详述1
转自:1.http://pengjiaheng.iteye.com/blog/5240242.http://ifeve.com/jvm-yong-generation/为什么要分代 分代的垃圾回收策略,是基于这样一个事实:不同的对象的生命周期是不一样的。因此,不同生命周期的对象可以采取不同的收集方式,以便提高回收效率。其实不分代完全可以,分代的唯一理由就是优化GC性能,提
2017-02-14 14:24:42 308
转载 JVM调优总结(四)-垃圾回收面临的问题
如何区分垃圾 上面说到的“引用计数”法,通过统计控制生成对象和删除对象时的引用数来判断。垃圾回收程序收集计数为0的对象即可。但是这种方法无法解决循环引用。所以,后来实现的垃圾判断算法中,都是从程序运行的根节点出发,遍历整个对象引用,查找存活的对象。那么在这种方式的实现中,垃圾回收从哪儿开始的呢?即,从哪儿开始查找哪些对象是正在被当前系统使用的。上面分析的堆和栈的区别,其中栈是真正进
2017-02-14 13:18:06 284
转载 JVM调优总结(三)-基本垃圾回收算法
转自:http://pengjiaheng.iteye.com/blog/520228可以从不同的的角度去划分垃圾回收算法:按照基本回收策略分引用计数(Reference Counting):比较古老的回收算法。原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数。垃圾回收时,只用收集计数为0的对象。此算法最致命的是无法处理循环引用的问题。 标记-清除
2017-02-14 11:17:40 340
转载 JVM调优总结(二)-一些概念
转自:http://pengjiaheng.iteye.com/blog/519471Java对象的大小 基本数据的类型的大小是固定的,这里就不多说了。对于非基本类型的Java对象,其大小就值得商榷。 在Java中,一个空Object对象的大小是8byte,这个大小只是保存堆中一个没有任何属性的对象的大小。看下面语句:Object ob = new Object
2017-02-14 09:46:57 231
转载 JVM调优总结(一)-- 一些概念
转自:http://pengjiaheng.iteye.com/blog/518623数据类型 Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。基本类型包括:byte,short,int,lo
2017-02-14 09:25:23 237
转载 如何避免死锁
转自:http://www.cnblogs.com/cxd4321/archive/2012/05/28/2521542.html什么是死锁,如何避免死锁? 线程A需要资源X,而线程B需要资源Y,而双方都掌握有对方所要的资源,这种情况称为死锁(deadlock),或死亡拥抱(the deadly embrace)。在并发程序设计中,死锁 (deadlock) 是一种十分
2017-02-13 13:25:42 534
转载 深入理解 Java 垃圾回收机制
转自:http://www.cnblogs.com/andy-zcx/p/5522836.html一、垃圾回收机制的意义Java语言中一个显著的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,Java中的对象不再有“作用域”的概念,只有对象的引用才有“作用域”。垃圾回收可以有效
2017-02-13 10:19:51 214
转载 数据库索引类型及实现方式
转自:http://www.cnblogs.com/barrywxx/p/4351901.html1、索引定义 数据库索引好比是一本书前面的目录,能加快数据库的查询速度。索引是对数据库表中一个或多个列(例如,employee 表的姓氏 (lname) 列)的值进行排序的结构。如果想按特定职员的姓来查找他或她(二分查找),则与在表中搜索所有的行相比,索引有助于更快地获取信息。2
2017-02-13 09:47:40 571
转载 [破除迷信]java.util.ArrayList在foreach循环遍历时可以删除元素
ArrayList是java开发时非常常用的类,常碰到需要对ArrayList循环删除元素的情况。这时候大家都不会使用foreach循环的方式来遍历List,因为它会抛java.util.ConcurrentModificationException异常。比如下面的代码就会抛这个异常:import java.util.ArrayList;import java.util.List;pub
2017-02-12 21:26:36 6901
转载 我们究竟要用Docker做什么
转自:http://www.tuicool.com/articles/YZZVfu1.摘要 前一阵微博风风火火的用大规模docker集群扛过了春节峰值。最近跟不少人聊起接下来要做什么,总是有一种能做的很多,但是能做的又很少的感觉。想了一下原因,感觉还是对docker、docker的生态系统、应用和集群没有划清楚的界限,docker并不是很多问题的最终解决方案,只是解
2017-02-07 23:38:19 11582
转载 为什么要使用 Docker?
作为一种新兴的虚拟化方式,Docker 跟传统的虚拟化方式相比具有众多的优势。首先,Docker 容器的启动可以在秒级实现,这相比传统的虚拟机方式要快得多。其次,Docker 对系统资源的利用率很高,一台主机上可以同时运行数千个 Docker 容器。容器除了运行其中应用外,基本不消耗额外的系统资源,使得应用的性能很高,同时系统的开销尽量小。传统虚拟机方式运行 10 个不同的应用就要起 10
2017-02-07 23:33:22 502
转载 sandboxie (沙箱机制)
转自:http://baike.baidu.com/link?url=jRWOO0X2SB3fSx9xnQq0LzdX69S-KeiOYv0wtScas2SZYUlXT5i1GuGUZnxdqlRvcF4yV6n6vhS-6kdij8_7-YvpvAva-AUJ_fbPCcxESMi沙盘英文名sandbox(sandboxie),也叫沙箱,顾名思义可以看做是一种容器,里面所做的一切都可
2017-02-07 14:49:05 3186
转载 关于Unix哲学
转自:http://www.ruanyifeng.com/blog/2009/06/unix_philosophy.html作者: 阮一峰日期: 2009年6月18日先讲两个很老的小故事。第一个故事。有一家日本最大的化妆品公司,收到了用户的投诉。用户抱怨买来的肥皂盒是空的。这家公司为了防止再发生这样的事故,很辛苦地发明了一台X光检查器,能够透视每
2017-02-07 13:27:57 324
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人