`
haoran_10
  • 浏览: 443189 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表
java servlet拾遗(1)-Servlet总揽 java servlet拾遗(2)-请求转发、包含、重定向 java servlet拾遗(3)-servlet 线程安全问题 java servlet拾遗(4)-会话  java servlet拾遗(5)-过滤器  java servlet拾遗(6)-监听器 
多线程(1)-java多线程入门  多线程(2)-使用synchronized进行线程同步 多线程(3)-基于Object的线程等待与唤醒
-----------------------------排序算法----------------------------- 排序算法(1)--冒泡排序&快速排序 排序算法(2)--选择排序&堆排序 排序算法(3)--插入排序&希尔排序 排序算法(4)--归并排序    -----------------------------查找算法----------------------------- 查找算法(1)--二分查找   -----------------------------其他算法----------------------------- ...
redis(1)、redis入门 redis(2)、redis数据类型 redis(3)、基于jedis、spring-data-redis 连接操作redis  redis(4)、基于redis 构建异步消息系统 redis(5)、redis最大缓存设置策略 redis(6)、redis复制 redis(7)、redis持久化 redis(8)、安全设置 redis(9)、redis集群之redis Cluster使用  redis(10)、redis集群twemproxy   ------------------------TODO redis(9)、redis集 ...
概述 在使用synchronized进行线程同步中介绍了依赖对象锁定线程,本篇文章介绍如何依赖对象协调线程。 同synchronized悲观锁一样,线程本身不能等待与唤醒,也是需要对象才能完成等待与唤醒的操作。 本篇主题是Object等待与唤醒。 1.在Object上有定义了以下几个方法:
概述 从同步与异步&阻塞与非阻塞的概念,到具体的I/O模型,再到具体的Java语言实现,都是层层递进,本篇就从Java语言来看I/O模型的大概情况。 整个Java I/O模型,大致可以分为三类 BIO:JDK1.4之前的阻塞IO NIO:JDK1.4及以后的版本非阻塞IO AIO:JDK1.7之后,又叫NIO.2 一、BIO阻塞IO 1、基本概念 BIO,即为Blocking I/O,阻塞IO,大致流程为: 1、服务端建立ServerSocket,以一个端口启动 2、等待客户端建立socket连接,如果没有连接,一直阻塞 3、一个socket建立连接之后,从 ...
一、同步与异步的区别   1、概念介绍 同步:所谓同步是一个服务的完成需要依赖其他服务时,只有等待被依赖的服务完成后,依赖的服务才能算完成,这是一种可靠的服务序列。要么成功都成功,失败都失败,服务的状态可以保持一致。 异步:所谓异步是一个服务的完成需要依赖其他服务时,只通知其他依赖服务开始执行,而不需要等待被依赖的服务完成,此时该服务就算完成了。
前文:Java中的所有类,必须被装载到jvm中才能运行,这个装载工作是由jvm中的类装载器完成的。 类装载器所做的工作实质是把类文件从硬盘读取到jvm运行内存中,或者从网络中读取到jvm运行内存中 JVM在加载类的时候,都是通过ClassLoader的loadClass()方法来加载class的。   例如: publi
在很多场景中,都需要用到加载资源等初始化操作,而且只需要初始化一次,那么问题就有了, 如何判断为初次操作 如果是并发处理,如何保证只初始化一次,不会重复初始化   一、AtomicBoolean神器 java.util.concurrent.atomic.AtomicBoolean ,该布尔操作类保证了一系列的操作都是原子操作,不会受到多线程环境下的并发不安全问题,原理则是依赖神奇的sun.misc.Unsafe支持。  
一、java原生代理 1、代理概念介绍 为某个对象提供一个代理,以控制对这个对象的访问。 代理类和委托类有共同的父类或父接口,这样在任何使用委托类对象的地方都可以用代理 对象替代。代理类负责请求的预处理、过滤、将请求分派给委托类处理、以及委托类执行 完请求后的后续处理。 2、代理分类 java代理分为两类,静态代理和动态代理。 静态代理通过代码的编写,生成代理类的源码,再编译代理类。所谓静态也就是在程序运行前就已经存在代理类的字节码文件,代理类和委托类的关系在运行前就确定了。 动态代理类的源码是在程序运行期间由JVM根据反射等机制动态的生成,所以不存在代理类的字节 ...
一般一个父pom项目下面常常有好几个子pom项目模块,而且几个子模块依赖的很多jar包,比如groupId/artifactid/version都是相同的,这样有三个弊端: 造成jar包重复依赖 造成版本号重复依赖 升级某个版本号时,要修改好几个子模块   一、在父模块中定义全部dependencies 在父模块中配置dependencies,那样所有子模块都自动继承。 例如在父pom文件中定义好我们需要的全部jar:   <dependencies> <dependency> <groupId>junit&l ...
在计算机内部,所有的信息终于都是表示为0和1去展示,但是如何表达出那么多的字符呢? 一、二进制位(bit) 在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态。 二、字 ...
java虚拟回收垃圾对象时,一份分为两步: 1、虚拟机在回收堆空间在之间,会先判断哪些对象已经死亡; 2、然后再对这些死亡对象通过特定的回收算法进行回收   一、判断对象是否死亡 1、引用计算器算法 给对象添加一个引用计算器,如果其他地方引用它,计算器就加1,当引用失效时,计算器就减1。当计算器为0时,这个对象不能被再次使用,需要被回收了。 优点:实现简单 缺点:不能解决对象之间相互循环引用的问题。   2、根搜索算法GC Roots Tracing 通过一系列的名为GC Roots作为对象为起始点,从这些节点开始向下搜索,搜索走过的路径称为引用链,当一个对象到GC R ...
导言:java是基于一门虚拟机的语言,所以了解并且熟知虚拟机运行原理非常重要。   先整体看一张java虚拟机技术图:   一、堆 1、方法区,Method Area,主要存放已被虚拟机加载的类信息、常量、静态变量、及时编译器编 ...
前文:java中多线程的锁,分为两种,悲观锁和乐观锁。使用synchronized作为锁的形式,就是悲观锁,又称为同步锁。   一、synchronized原理 在java中,每一个对象有且仅有一个同步锁。同步锁是依赖于对象而存在。 当我们 ...
Global site tag (gtag.js) - Google Analytics