崔世勋CSDN博客

好的开始是成功的一半,不要制定太长远的目标,同时不以战术的勤奋掩饰战略的懒惰,复杂思考简易行事,分而治之降低压力,以概率面对生活,时刻保持头脑清醒,防人之心不可无,广交慎择,顺其自然,近贤远佞,源代码...

Redis入门

Redis是一个开源的,使用C语言编写的、支持网络交互的、可基于内存也可持久化的key-value数据库。 1.Redis的持久化 Redis提供了两种持久化的方式,分别是RDB(Redis DataBase)和AOF(Append Only File)。 RDB,简单说就是在不同的时间点,将...

2017-01-24 15:55:37

阅读数:270

评论数:0

Java安全管理器SecurityManager

安全管理器是一个允许应用程序实现安全策略的类。SecurityManager类包含了很多名称以单词check开头的方法,Java库中的种种方法在执行某些潜在的敏感操作前可以调用这些方法 。 权限分为以下类别:文件、套接字、网络、安全性、运行时、属性、AWT、反射和可序列化。管理各种权限别的类: ...

2017-01-23 14:28:22

阅读数:332

评论数:0

Collections.unmodifiableCollection

使用这个可以得到一个集合的镜像,它的返回结果不可直接被改变,另外,修改原Collections时,会同进修改对应的镜像。

2017-01-23 11:19:53

阅读数:131

评论数:0

Zookeeper的功能以及工作原理

1.Zookeeper是什么? 它是一个分布式的、开放源码的分布式应用程序协调服务,是Google的Chubby的一个开源实现,它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高效、功能稳定的系统提供给用户。 2.Zooke...

2017-01-23 10:30:29

阅读数:340

评论数:0

Tomcat结构浅析

它主要由一堆组件组成,如Server、Service、Connector等,并基于JMX管理这些组件,另外实现以上接口的组件也实现了代表生存期的接口Lifecycle,使其组件履行固定的生存期,在其整个生存期的过程中通过事件侦听LifecycleEvent实现扩展。 1、Catali...

2017-01-22 16:35:44

阅读数:149

评论数:0

Runtime.getRuntime().addShutdownHook

这个方法的意思就是在jvm中增加一个关闭的钩子,当jvm关闭的时候,会执行系统中已经设置的所有通过这个方法添加的钩子,当系统执行完这些钩子后,jvm才会关闭。所以这些钩子可以在jvm关闭的时候进行内存清理、对象销毁等操作。

2017-01-22 16:03:30

阅读数:164

评论数:0

rmi参数

sun.rmi.dgc.checkInterval 查询契约间隔时间,单位为ms,默认值 是java.rmi.dgc.leaseValue值的一半。 优化:尽早的删除引用有利于管理内存,但leaseValue太短的话又会造成网络风险。 java.rmi.dgc.leaseValue 契...

2017-01-22 11:15:25

阅读数:366

评论数:0

System.getProperties和System.getenv区别

使用getProperties获得的其实是虚拟机的变量如:-Djavaxxxx。 getenv方法才是真正的获得系统环境变量,比如Path之类。

2017-01-20 16:38:32

阅读数:158

评论数:0

JVM Manangent API

JVM本身提供了一组管理的API,通过API,我们可以获得到JVM内部主要运行信息等等。各种JDK自带的剖析工具,包括jps、jstack、jinfo、jstat、jmap、jconsole等,都是基于此API开发的。 1. HotSpotDiagnostic 非标准的监控JMS,这块...

2017-01-20 10:48:48

阅读数:183

评论数:0

Java @interface

Java用  @interface Annotation{ } 定义一个注解 @Annotation,一个注解是一个类。 注解相当于一种标记,在程序中加上了注解就等于为程序加上了某种标记,以后, JAVAC编译器,开发工具和其他程序可以用反射来了解你的类以及各种元素上有无任何标记,看你有什...

2017-01-19 14:41:23

阅读数:2561

评论数:0

Hessian 2.0序列化协议规范

Hessian语法 序列化语法 #starting production top ::=value #分割成64k每chunk的8-bit二进制数据 binary ::= 'b' b1...

2017-01-13 17:32:09

阅读数:315

评论数:0

Java getClass与class的区别

两者最直接的区别就是,getClass是一个类的实例所具备的方法,而class方法是一个类的方法。 getClass是在运行时才确定的,而class是在编译时就确定的。

2017-01-13 16:24:44

阅读数:192

评论数:0

List Set Map存入null

List可以存储null,添加几个,存储几个。 Set也可以存储null。 HashMap可以存储null键值对,键和值都可以是null,但如果添加的键值对的键相同,则后面添加的键值对会覆盖前面的键值对,即之后存储后添加的键值对。

2017-01-13 14:55:40

阅读数:201

评论数:0

Java ConcurrentSkipListMap

跳表是一种采用了空间换时间思想的数据结构。它会随机地将一些节点提升到更高的层次,以创建一种逐层的数据结构,以提高操作的速度。 它实现了SortedMap、NavigableMap、ConcurrentNavigableMap等接口。 跳表分为许多层(level),每一层都可以看作是...

2017-01-13 14:43:11

阅读数:199

评论数:0

Java WeakHashMap

这种Map的特点是,当除了自身有对key的引用外,此key没有其他引用那么此map会自动丢弃此值。

2017-01-13 14:32:31

阅读数:132

评论数:0

Java IdentityHashMap

HashMap通过equal来比较key的值是否相同,而IdentityHashMap通过==来比较key的引用地址是否相同。 Map hashMap=new HashMap(); hashMap.put(new String("张三"), "100...

2017-01-13 13:58:24

阅读数:153

评论数:0

java.lang.reflect.Type

Type(接) |-GenericArrayType(接) |-ParameterizedType(接) |-TypeVariable(接) |-WildcardType(接) ParameterizedType表示一种参数化的类型。比如:Map这种参数化类型,获取参数化 Ge...

2017-01-13 13:55:52

阅读数:557

评论数:0

case when then else end用法

case expression when expression_11 then expression_12 ... when expression_n1 then expression_n2 [else expression_m] end 该语句的执行过过程是:将case后面表...

2017-01-13 09:31:33

阅读数:167

评论数:0

Java动态代理

Java动态代理类位于java.lang.reflect包下,一般主要涉及到以下两个类: 1.Interface InvocationHandler:该接口中仅定义了一个方法Object:invoke(Object obj,Method method,Object[] args)。在实际使用时,...

2017-01-13 09:24:55

阅读数:178

评论数:0

Thread.currentThread().getContextClassLoader()和Class.getClassLoader的区别

前者是最安全的方法。 比如,如果你使用Test.class.getClassLoader(),可能会导制和当前线程所运行的类加载器不一致。(因为Java天生的多线程) Test.class.getClassLoader一般用在getResource,因为资源文件的位置相对是固定的。

2017-01-12 17:28:24

阅读数:284

评论数:0

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