自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(196)
  • 资源 (5)
  • 收藏
  • 关注

原创 GC(通过Reference和GC交互)

##Java中相关概念 ReferenceQueue WeakReference SoftReference PhantomReference WeakHashMapJava2 增强了内存管理功能,增加了一个java .lang.ref 包,其中定义了三种引用类。这三种引用类分别为SoftReference、 WeakReference和 PhantomReference.通过使用这些引用

2016-10-03 15:49:27 1641

转载 GC(G1算法)

Java 8 默认的 GC是Parallel GC。Oracle正在考虑将JEP 248包含到Java 9的JEP列表中,即在服务器配置中将G1作为默认垃圾收集器。The Garbage-First (G1) garbage collector is fully supported in Oracle JDK 7 update 4 and later releasesGarbage First(G1

2016-10-03 15:36:26 10266 1

原创 GC(2.基本算法)

主要问题:1.GC判断对象是否存活算法 2.GC垃圾收集算法 3.JVM虚拟机GC回收算法 4.优化1.GC判断对象是否存活算法1> 引用计数算法 2> 根搜索算法(GC Root)根搜索算法在主流的商用程序语言中(Java和C#,甚至包括前面提到的古老的Lisp),都是使用根搜索算法(GC Roots Tracing)判定对象是否存活的。这个算法的基本思路就是通过一系列的名为“GC Ro

2016-10-03 15:27:28 1937

转载 GC(1.1OOPMap)

调用栈里的引用类型数据是GC的根集合(root set)的重要组成部分;找出栈上的引用是GC的根枚举(root enumeration)中不可或缺的一环。 JVM选择用什么方式会影响到GC的实现:如果JVM选择不记录任何这种类型的数据,那么它就无法区分内存里某个位置上的数据到底应该解读为引用类型还是整型还是别的什么。这种条件下,实现出来的GC就会是“保守式GC(conservative GC)”。在

2016-10-03 15:12:37 3354

原创 GC(1.安全点的相关知识)

目录: 1.安全点的相关知识 1.1 OOPMap 2. GC基本算法 3. G1算法 4. 通过Reference和GC交互 5. GC友好编程安全点的相关知识主要有如下几个问题: 1.什么是安全点 2.安全点的位置 3.安全点的管理、实现 4.什么场景、功能需要安全点的配合 5.Safe Reg

2016-10-03 15:10:32 7742

原创 程序员笔试题收集汇总(三)

相关文章: 程序员笔试题收集汇总(一) http://blog.csdn.net/youyou1543724847/article/details/52383530 程序员笔试题收集汇总(二) http://blog.csdn.net/youyou1543724847/article/details/52728001 程序员笔试题收集汇总(三) http://blog.csd

2016-10-03 14:47:58 5380

原创 程序员笔试题收集汇总(二)

1..int类型的数据A,在X86系统中从底到高存储的值为0x01,0x02,0x03,0x04,则从网络上发送出去时,发送顺序为: 网络字节序为大端序,则发送时,先发送高地址值即0x04,以此类推2. TCP的状态,Time_wait状态出现在那里,有什么作用?当主动发送关系的一方,在收到对方的“关闭通信”包,然后发送确认包后,会处于Time_wait状态,在等待2MSL时间后,自动关闭连接。

2016-10-03 14:23:11 2718

转载 装载:荷兰国旗问题

原文地址: http://www.cnblogs.com/gnuhpc/archive/2012/12/21/2828166.html http://blog.csdn.net/v_july_v/article/details/6211155 /* * ======================================================================

2016-09-18 21:13:03 354

转载 如何定义一个只能在堆上(栈上)生成对象的类?

原文连接: http://www.cnblogs.com/vincently/p/4838283.html在C++中,类的对象建立分为两种,一种是静态建立,如A a;另一种是动态建立,如A* ptr=new A;这两种方式是有区别的。静态建立一个类对象,是由编译器为对象在栈空间中分配内存,是通过直接移动栈顶指针,挪出适当的空间,然后在这片内存空间上调用构造函数形成一个栈对象。使用这种方法,直接调用

2016-09-15 18:09:38 325

转载 转载:一个一维数轴上有不同的线段,求重复最长的两个线段

原文连接:http://blog.163.com/wzgmr@126/blog/static/3615443620135305258195/例:a:1~3 b: 2~7 c:2~8最长重复是b和c像这种问题,一般就从动态规划的角度去思考。将原问题分割成小问题。首先按照线段的起点进行排序,较好的排序算法的时间复杂度是O(nlogn)然后考虑将原问题变为相同结构的子问题。考虑f(n)是

2016-09-14 22:07:52 1465 2

转载 转载:linux内存屏障浅析

原文连接:http://itlab.idcquan.com/linux/soft/880163.html什么是内存屏障?        内存屏障是一个很神奇的东西,之前翻译了linux内核文档memory-barriers.txt,对内存屏障有了一定有理解。现在用自己的方式来整理一下。 在我看来,内存屏障主要解决了两个问题:单处理器下的乱序问题和多处理器下的内存同步问题。为什么会乱序

2016-09-12 10:43:44 421

转载 转载:孤儿进程与僵尸进程[总结]

原文地址:http://www.cnblogs.com/Anker/p/3271773.html原文写的挺好,但是不能直接转载,只好粘过来了1、前言  之前在看《unix环境高级编程》第八章进程时候,提到孤儿进程和僵尸进程,一直对这两个概念比较模糊。今天被人问到什么是孤儿进程和僵尸进程,会带来什么问题,怎么解决,我只停留在概念上面,没有深入,倍感惭愧。晚上回来google了一下,再次参考APUE,认

2016-09-12 10:00:23 343

原创 java 1.8 ThreadLocal源码分析

参考资料: http://www.cnblogs.com/dolphin0520/p/3920407.html http://blog.csdn.net/lufeng20/article/details/24314381 http://blog.csdn.net/devilkin64/article/details/79166301. 关于ThreadLocal创建线程局部私有的变量,避免多线

2016-09-07 16:31:56 1975

转载 工厂模式总结

1,简单工厂模式 专门定义一个工厂类负责创建其他类的实例,最大的优点在于工厂类中包含了必要的逻辑,根据客户需要的条件动态实例化相关的类2,工厂方法模式 创建对象的接口,让子类去决定具体实例化的对象,把简单的内部逻辑判断移到了客户端代码。工厂方法克服了简单工厂违背开放-封闭原则的缺点,又保持了封装对象创建过程的优点。3.抽象工厂 先来认识下什么是产品族: 位于不同产品等

2016-09-06 21:29:12 598

转载 短 URL 系统是怎么设计的?

原文链接:http://www.zhihu.com/question/29270034/answer/46446911 来源:知乎这个问题看到就想答。 个人相关:三年前在公司做过一个短地址服务,目前在线上跑。 而这个问题,也是我现在招聘面试题里面必考的一道,这一道题里面有很多可考的地方,能够相对综合的考察候选人的功力。最烂的回答 实现一个算法,将长地址转成短地址。实现长和短一一对应。然后再实

2016-09-01 17:01:47 509

原创 Integer中的相关函数实现源码分析

1. Integer.bitCount public static int bitCount(int i) { // HD, Figure 5-2 i = i - ( (i >>> 1) & 0x55555555 ); i = (i & 0x33333333) + ((i >>> 2) & 0x33333333); i = (i

2016-08-31 15:43:30 1300

原创 程序员笔试题收集汇总(一)

收集的笔试题,各处摘抄加自己的理解 相关文章: 程序员笔试题收集汇总(一) http://blog.csdn.net/youyou1543724847/article/details/52383530 程序员笔试题收集汇总(二) http://blog.csdn.net/youyou1543724847/article/details/52728001 程序员笔试题收集汇总(三

2016-08-31 11:55:47 20397 1

原创 JAVA UncaughtExceptionHandler 处理

Thread的run方法是不抛出任何检查型异常(checked exception)的,但是它自身却可能因为一个异常而被终止,导致这个线程的终结。最麻烦的是,在线程中抛出的异常即使使用try…catch也无法截获,因此可能导致一些问题出现,比如异常的时候无法回收一些系统资源,或者没有关闭当前的连接等等。 (PS:Callalble是可抛出异常)如果需要捕获系统的未捕获异常(如系统抛出了未知错误,

2016-08-28 22:21:49 1973

转载 Swing

总结: 1.Swing不是线程安全的 2.在多线程环境下,应该将所有的GUI更新、状态获取操作放在一个线程中,即EDT(事件分发线程,一般就是创建GUI,执行事先分发到各个监听器中的线程中) 3.但是在多线程环境中,其他线程需要更新界面或是获取界面值,可通过SwingUtilities类 来将一段代码提交到EDT线程中执行。 4

2016-08-28 20:25:49 591

原创 Java资料汇总

专业词汇解释: http://hllvm.group.iteye.com/group/topic/21468#post-272070HotSpot专业词汇 http://openjdk.java.net/groups/hotspot/docs/HotSpotGlossary.html#safepoint http://openjdk.java.net/groups/hotspot/gc相关

2016-08-28 12:15:11 475

原创 java7,8中的String pool

参考文献: http://blog.csdn.net/chen1280436393/article/details/51768609 http://java-performance.info/string-intern-in-java-6-7-8/ http://blog.csdn.net/heiyouhei123/article/details/51560166关于String poolwh

2016-08-27 21:52:14 1837

原创 Java堆栈信息分析

以下数据使用Jconsole转储文件中得来,不同的工具,不同的虚拟机得到的具体信息可能有差别栈转储信息转储方式通过Jconsole工具(或者其他分析工具) "Signal Dispatcher" #4 daemon prio=9 os_prio=2 tid=0x142b7400 nid=0x280 runnable [0x00000000] java.lang.Thread.State: R

2016-08-27 17:38:21 7180

原创 JAVA中的一些基本知识

1. Enum和String的相互转化 见例子:enum PathExceptionType { EmpytPath, EmptyMethodPathChain, EmptyUnitChain, ReviseError, NullUnitNode, NullUnitNodeToString, DeadLoop, Unkown} /

2016-08-26 22:40:57 1021

原创 关于ClassNOtFoundException异常

在项目中,使用了一个JAR包,单独运行Jar包时(Java -jar jarname.jar),正常,但是将Jar包导入eclipse中,调用jar包就出现了各种错误,都是ClassNOtFoundException。开始手动将这些所引用的项目引入到项目buildpath中,后来烦的不行,因为导入一个项目,解决了一个问题。又有了一个新的类说找不到。后来回头一想,为什么CMD直接运行就可以呢?这是什么

2016-08-15 17:00:57 13057

转载 次优查找树的原理是什么?

原文地址:http://www.zhihu.com/question/21063814为什么有:次优查找树? (二叉)查找树:对有序数据进行查找,任何一种基于比较的查找策略都可以用一棵二叉树表示。每次查找过程就是从这棵二叉树的根节点出发,每次根据比较结果决定是走向左子树还是右子树还是停下来(因为已经找到了)。查找树的效率:如果你又已知了每个元素可能被查找的概率,你就可以对一棵查找树计算它的期望比较

2016-08-14 22:12:49 8334 3

转载 如何消除左递归

原文连接:http://www.cnblogs.com/nano94/p/4020775.html首先,什么叫做左递归呢? 一个左递归的语法通常有这样的形式 : A-> Aa .而自顶向下的语法分析是无法处理左递归语法的。为什么呢?无论是递归分析还是预测分析或者是LL文法分析,在碰到左递归这种语法时都会陷入死循环当中。如果我们用递归分析,那么在分析A这个非终结符号的时候就会调用functionA,

2016-08-14 22:04:25 6878

转载 一致性Hash

一致性Hash目录 什么是一致性Hash 怎么实现 总结什么是一致性Hash主要应用于分布式环境,当出现单点故障、新的机器加入时,原来的好的映射不会改变。 举个例子:     加入目前有11台机器用于向用户提供服务,为了提高服务速度或是服务的需要,服务器上一般都会缓存用户的信息、请求-响应数据,提高服务速度。单hash算法是使用某个标志如ip或是用户ID将用户请求映射到某台服务器上。如ID

2016-08-12 18:04:12 526

原创 Java中断机制

参考文献 http://www.infoq.com/cn/articles/java-interrupt-mechanism http://blog.csdn.net/dlite/article/details/4218105主要参考上两篇博客,总结一些个人看法。1.先看看用户直接能接触到的中断相关的接口 方法 含义 备注 boolean isInterrupted() 检查t

2016-08-12 09:41:35 3477

原创 Java 集合框架分析:DelayQueue java8

DelayQueue 目录 DelayQueue简单说明 主要方法分析 比较 总结DelayQueue简单说明无界的阻塞队列,和普通的队列不同的是:里面的元素只有时间过期了之后才能取出来,头元素是已经过期的元素中最早过期的。如果没有过期的元素,则poll方法返回null.但是size方法返回的所有的元素,包括过期的和没有过期的。 注意:该集合的iterator并不保证访问顺序,你不能迭代

2016-08-10 21:33:23 1174

原创 关于lock.lockInterruptibly()方法和java.lang.IllegalMonitorStateException异常

在看java集合源码时,发现一些并发集合中加锁的方式有的是lock.lock(),有的是lock.lockInterruptibly()形式,不是很清楚其中的区别,故搜了一些资料,写了自己的理解。API文档的说法:lock.lock():尝试获取锁。当该函数返回时,处于已经获取锁的状态。如果当前有别的线程获取了锁,则睡眠。lockInterruptibly():尝试获取锁。如果当前有别的线程获取

2016-08-10 18:12:46 11231 5

原创 Java 集合框架分析:ArrayBlockingQueue java1.8

ArrayBlockingQueue 目录 1.ArrayBlockingQueue简介 2.主要方法 3.和其他相关集合的比较 4.总结1.ArrayBlockingQueue简介 线程安全的先进先出队列,并且是属于有界的队列,一个典型的有界缓冲区。支持公平锁的存、取操作。2.主要方法 先看看主要的成员变量: takeindex,putinex就是对应于ArrayDeque里的he

2016-08-10 17:12:05 752

原创 Java 集合框架分析:ArrayDeque java1.8

ArrayDeque源码分析 目录 1.ArrayDeque介绍 2.主要方法分析 3.总结ArrayDeque介绍 实现了Deque接口,作为双向的队列使用 特点: 1.不允许null元素 2.无界的,容器满时,自动扩容 3.不是线程安全的。 4.比起作为deque使用时,比linkedlist快(注意:是作为deque,比linkedlist快,而不是作为一个普通的array

2016-08-10 11:46:34 712

原创 Condition java1.8

昨天看了PriorityBlockingQueue,里面有一个Condition notEmpty变量,觉得挺奇怪的,今天,翻一翻API,了解一下。目录 1.Condition是什么 Condition实际上就是将Ojbect对象的监视器(wait,notity)功能抽象出来了,从而允许形成多个等待队列。 之前的使用Object的wait方法,则将当前线程阻塞到该ob

2016-08-10 10:23:23 496

原创 Java 集合框架分析:PriorityBlockingQueue java1.8

哈哈,终于有了第二篇博客了,终于知道编辑一个博客需要注意什么了,希望坚持下去,每天看点小源码!目录 1.简述PriorityBlockingQueue 2.主要方法及实现 3.使用过程中需要注意的地方 4.和其他的相关容器的比较 5.总结简述PriorityBlockingQueue 特点: 1.属于并发安全的集合。(什么是并发安全的集合:即多线程的情况下,不会出现不确定的状态)。

2016-08-09 23:02:56 733

原创 JAVA Queue源码分析 java1.8

JAVA Queue第一篇博客,希望以后每天坚持 目录: 1.Queue接口 2.Java中Queue接口方法 3.Queue的子类PriorityQueue分析 4.总结1.Queue接口 数据结构中的队列,先进先出式的数据结构。 主要注意的时,Java中的Queue是比数据结构中理解的Queue更加灵活。这表现在: a.数据结构中的Queue是按时间顺序的先进先出,即你先插入的元

2016-08-09 17:50:32 4042

转载 转载]怎么修复hh.exe程序

[转载]怎么修复hh.exe程序已有 1351 次阅读 2011-11-16 08:23 |个人分类:计算机科学、理论与实践|系统分类:科研笔记|关键词:程序 修复电脑CHM文件打不开 之前由于电脑某些问题 自己电脑的CHM文件打不开了于是上百度搜搜 具体解决方法如下:一.如果不能打开,可这样恢复文件关联:1、开始运行,输入:regsvr32 C

2013-07-25 09:11:30 10487

Hadoop生态圈常用软件打包rpm spec描述文件

Hadoop生态圈常用软件打包rpm spec描述文件,包括 Hadoop,spark, alluxio,spark,ranger等

2018-05-19

深入理解Linux内核(第三版)中文版

深入理解Linux内核(第三版)中文版.pdf

2016-12-01

大话存储__网络存储系原理精解与最佳实践

大话存储__网络存储系原理精解与最佳实践

2016-12-01

嵌入式Linux设备驱动开发

嵌入式Linux设备驱动开发,包括Linux系统的简介,嵌入式的简介等。教程中包涵代码

2014-03-20

Spooling 模拟程序

Spooling 模拟程序,Java编写,能动态显示进程调用过程

2013-07-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除