- 博客(17)
- 资源 (5)
- 收藏
- 关注
转载 JAVA虚拟机内存分配概要
图一:java内存结构划分由上图可知,java内存主要分为6部分,分别是程序计数器,虚拟机栈,本地方法栈,堆,方法区和直接内存,下面将逐一详细描述。1、程序计数器线程私有,即每个线程都会有一个,线程之间互不影响,独立存储。代表着当前线程所执行字节码的行号指示器。2、虚拟机栈线程私有,它的生命周期和线程相同。描述的是java方法执行的内存模型:每个方法在执行的同时多会创建
2017-10-20 10:17:32 284
转载 Java堆内存Heap与非堆内存Non-Heap概要
JAVA虚拟机内存结构分为以下5部分:程序计数器,虚拟机栈,本地方法栈,方法区,堆。具体可查看上一篇文章JAVA虚拟机内存分配概要。而又可以粗略分为堆内存和非堆内存。一般程序员最关心的也是堆内存。也是最容易造成内存泄漏的一部分内存,也是jvm垃圾回收时主要操作的内存空间。堆内存又可以分为新生代、年老代、永久代,具体垃圾回收机制查看另一篇文章Java虚拟机:Java垃圾回收(GC)机制详解。
2017-10-20 10:16:28 1986
转载 Java虚拟机:Java垃圾回收(GC)机制详解
如何查看当前环境下的垃圾回收器?java -XX:+PrintCommandLineFlags -version哪些内存需要回收?哪些内存需要回收是垃圾回收机制第一个要考虑的问题,所谓“要回收的垃圾”无非就是那些不可能再被任何途径使用的对象。那么如何找到这些对象?1、引用计数法这个算法的实现是,给对象中添加一个引用计数器,每当一个地方引用这个对象时,计数器值+1
2017-10-20 09:26:45 269
转载 线程5种状态及常见问题
线程的5种状态: 每个 Java 程序都有一个缺省的主线程,对于 Java 应用程序,主线程是 main()方法执行的线索;对于 Applet 程序,主线程是指挥浏览器加载并执行 Java Applet 程序的线索。要想实现多线程,必须在主线程中创建新的线程对象。任何线程一般具有五种状态,即创建、就绪、运行、阻塞、终止。1、新生状态 在程
2017-10-19 18:22:05 11206
转载 JAVA多线程编程之Condition
在上一篇文章中讲了java.util.concurrent.locks包中的lock接口,及其对应的实现类。今天讲一下java.util.concurrent.locks包下另一个接口Condition。使用过的人都知道,ReentrantLock(重入锁)是jdk的concurrent包提供的一种独占锁的实现。它继承自Dong Lea的 AbstractQueuedSynchronizer(同步
2017-10-19 17:42:51 269
转载 ThreadLocal详解
早在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。 当使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对应的副本。 从线
2017-10-19 10:41:04 161
转载 Java 5 并发编程--Lock详解
Java并发编程:Lock Java5之前使用synchronized来实现同步访问。从Java 5之后,在java.util.concurrent.locks包下提供了另外一种方式来实现同步访问,那就是Lock。 也许有朋友会问,既然都可以通过synchronized来实现同步访问了,那么为什么还需要提供Lock?这个问题将在下面进行阐述。本文先从synchronized的缺
2017-10-17 16:49:16 338
转载 ExecutorService使用技巧
ExecutorService抽象概念自Java5就已经提出来了,现在是2014年。顺便提醒一下:Java5和Java6都已不被支持,Java7在半年内也将会这样。我提出这个的原因是许多Java程序员仍然不能完全明白ExecutorService到底是怎样工作的。还有很多地方要去学习,今天我会分享一些很少人知道的特性和实践。然而这篇文章仍然是面向中等程序员的,没什么特别高级的地方。1. N
2017-10-17 15:22:57 276
原创 java多线程之wait notify详解,start于run区别,wait与sleep区别一篇通,附例:生产者消费者。
一、wait(), notify(), notifyAll()等方法介绍1.wait()的作用是让当前线程进入等待状态,同时,wait()也会让当前线程释放它所持有的锁。“直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法”,当前线程被唤醒(进入“就绪状态”)2.notify()和notifyAll()的作用,则是唤醒当前对象上的等待线程;notify()是唤
2017-10-17 11:15:49 1873
转载 AKKA让并发和容错更容易
写并发程序很难。程序员不得不处理线程、锁和竞态条件等等,这个过程很容易出错,而且会导致程序代码难以阅读、测试和维护。所以,很多人不倾向于使用多线程编程。取而代之的是,他们使用单线程进程(译者注:只含有一个线程的进程),依赖外部服务(如数据库、队列等)处理所需的并发或异步操作。虽然这种方法在有些情况下是可行的,但还有很多其他情况不能奏效。很多实时系统——例如交易或银行业务应用,或实时游戏——
2017-10-16 16:19:36 322
转载 中小型企业Web开发框架
基于Spring+SpringMVC+Mybatis分布式敏捷开发系统架构,提供整套公共微服务服务模块:集中权限管理(单点登录)、内容管理、支付中心、用户管理(支持第三方登录)、微信平台、存储系统、配置中心、日志分析、任务和通知等,支持服务治理、监控和追踪,努力为中小型企业打造全方位J2EE企业级开发解决方案。技术选型后端技术:技术名称官网
2017-10-13 13:59:54 6124 1
转载 Karaf教程第2部分使用Configuration Admin服务
原文地址 http://blog.csdn.net/wusandi/article/details/78172920 在Karaf教程的第1部分,我们学习了如何使用maven和blueprint提供和使用pojo服务,如何使用http服务发布servlet。 在第2部分,我们集中精力关注OSGi bundle的配置。不像servlet容器,OSGi容器包含一个非常
2017-10-10 17:11:50 1053
转载 Karaf教程第1部分 安装Karaf与第一个应用
原文链接:http://blog.csdn.net/wusandi/article/details/781722611.1 karaf入门 在这个帖子中,我将编写关于Apache Karaf的一系列帖子。那么什么是Karaf,你为什么对它感兴趣呢?Karaf是基于Equinox或者Felix的OSGi容器。相对于其它优良的容器来说,主要的不同点是karaf带来了优秀的features
2017-10-10 14:55:10 5009
转载 小根堆优化Dijkstra算法
算法原理每次扩展一个距离最小的点,再更新与其相邻的点的距离。如何寻找距离最小的点普通的Dijkstra算法的思路是直接For i: 1 to n优化方案是建一个小根堆,小根堆里存储由当前结点更新距离的所有点,那么堆顶就是距离最小的点如何寻找与源点相邻的点当然是邻接表具体实现建一个小根堆heap[] ,用来存储结点的序号,用一个数组
2017-10-10 14:23:33 940
转载 最短路径—Dijkstra算法
1.定义概览Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法是很有代表性的最短路径算法,在很多专业课程中都作为基本内容有详细的介绍,如数据结构,图论,运筹学等等。注意该算法要求图中不存在负权边。问题描述:在无向图 G=(V,E) 中,假设每条边 E[i
2017-10-10 14:20:20 238
转载 基本数据结构-->堆
堆----->它是利用完全二叉树的结构来维护一组数据,然后进行相关操作,一般的操作进行一次的时间复杂度在 O(1)~O(logn)之间。 可谓是相当的引领时尚潮流啊(我不信学信息学的你看到log和1的时间复杂度不会激动一下下)!。 什么是完全二叉树呢?别急着去百度啊,要百度我帮你百度: 若设二叉树的深度为h,除第 h 层外,其它各层
2017-10-10 14:07:17 227
转载 二叉搜索树
二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。public class Node { public int iData;
2017-10-08 11:50:06 141
《StackOverFlow-Python翻译》-深入理解python,超级推荐
2018-03-25
Paxos到Zookeeper:分布式一致性原理与实践
2018-02-28
smartgit-32位
2018-01-25
Redis设计与实现完整版-kindle-黄健宏
2018-01-25
Elasticsearch服务器开发-完整版-带书签-高清
2018-01-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人