java
文章平均质量分 74
梦中的冰原
这个作者很懒,什么都没留下…
展开
-
关于java反射机制
首先了解什么是java反射机制 java 反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。 java反射(放射)机制:“程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言”。从这个观点看,Perl,Python,原创 2015-04-21 17:36:43 · 371 阅读 · 0 评论 -
Java线程池类ThreadPoolExecutor、ScheduledThreadPoolExecutor及Executors工厂类
Java中的线程池类有两个,分别是:ThreadPoolExecutor和ScheduledThreadPoolExecutor,这两个类都继承自ExecutorService。利用这两个类,可以创建各种不同的Java线程池,为了方便我们创建线程池,Java API提供了Executors工厂类来帮助我们创建各种各样的线程池。下面我们分别介绍一下这三个类。Java线程池ExecutorService原创 2017-07-16 16:31:04 · 379 阅读 · 0 评论 -
Java虚拟机学习 - 垃圾收集器
总结:了解jvm有哪些垃圾收集器,对于优化jvm内存使用是很有帮助的。 文章参考:http://blog.csdn.net/java2000_wl/article/details/8030172HotSpot JVM虚拟机 上面有7种收集器,分为两块,上面为新生代收集器,下面是老年代收集器。如果两个收集器之间存在连线,就说明它们可以搭配使用。Serial(串行GC)收集器 Serial收集器是原创 2017-07-16 16:12:41 · 246 阅读 · 0 评论 -
深入理解jvm 虚拟机(一)
在实际的项目中,一般都会在tomcat容器配置启动参数,将jvm gc信息写入某个文件中。如下:tomcat启动参数,将JVM GC信息写入tomcat_gc.logCATALINA_OPTS='-Xms512m -Xmx4096m -XX:PermSize=64M -XX:MaxNewSize=128m -XX:MaxPermSize=64m -XX:ParallelGCThreads=8 -XX转载 2017-07-14 07:54:19 · 678 阅读 · 0 评论 -
[Thinking in java]理解java三大特性之一继承
本篇参考:http://www.cnblogs.com/chenssy/p/3354884.html在《Think in java》中有这样一句话:复用代码是Java众多引人注目的功能之一。但要想成为极具革命性的语言,仅仅能够复制代码并对加以改变是不够的,它还必须能够做更多的事情。在这句话中最引人注目的是“复用代码”,尽可能的复用代码使我们程序员一直在追求的,现在我来介绍一种复用代码的方式,也是ja原创 2017-07-13 07:35:42 · 264 阅读 · 0 评论 -
JVM性能问题定位
JVM性能问题定位 最近有一个性能单需要解决,由于之前都没处理过性能问题,所以一开始都不知道怎么入手。以下是我问题解决定位的过程:1,通过lsof命令查找进程。首先,你要知道你的程序进程信息,可以在linux下通过lsof -i (端口号)获取相关的信息,主要是PID的信息。例如: 查看22端口现在运行的情况 # lsof -i :22COMMAND PID USER FD原创 2017-05-18 07:58:13 · 1245 阅读 · 0 评论 -
[LeetCode]Two Sum
[LeetCode]Two SumDescrition: Given an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input would have exactly one solution, an原创 2017-05-23 07:32:28 · 244 阅读 · 0 评论 -
深入理解java字节流与字符流
先来看下流的概念:流: 1,在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成。 2,程序中的输入输出都是以流的形式保存的,流中保存的实际上全都是字节文件。字节流与字符流 1,在java.io包中操作文件内容的主要有两大类:字节流、字符流 2,java中提供了专用于输入输出功能的包Java.io,转载 2015-08-04 16:56:06 · 580 阅读 · 0 评论 -
关于java,servlet中的服务器端跳转和客户端跳转
最近因为写jsp和servlet有点多,所以不可避免的遇到了服务端与客户端跳转的问题,但是由于原理不清楚,所以老是记不住。今天特意查了资料,一定要弄清楚。一,什么是客户端跳转 客户端跳转也叫重定向,是使用HttpServletResponse对象中的sendRedirect()方法,这是一个响应对象的方法,调用了这个方法,就表明整个请求已经结束了,服务器开始向客户端返回执行的结果。原创 2015-05-04 10:39:03 · 3828 阅读 · 0 评论 -
LinkedList的实现原理与总结
1. LinkedList概述 LinkedList是List的实现类,他是一个基于链表实现的List类,对于顺序访问集合中的元素进行了优化。特别是插入,删除元素的速度特比快。LinkedList即实现了List接口,也实现了Deque接口。因此可以作为栈来使用。 Deque接口是Queue接口的子接口,它代表一个双端队列。因此可以从两端来操作队列的元素。原创 2015-05-11 16:44:17 · 2470 阅读 · 0 评论 -
HashMap的实现原理
一,HashMap a,HashMap底层维护一个数组,我们向HashMap中所放置的对象实际上是存储在该数组当中(Entry类型)。 b,当向HashMap中put一对键值时,他会根据key的hashcode值计算出一个位置,该位置是此对象准备往数组中存放的位置。 如果该位置上没有对象存在,就将次对象直接放入数组中;原创 2015-05-11 21:24:19 · 388 阅读 · 0 评论 -
ArrayList的实现原理
一,ArrayList概述 1, ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长,类似于C语言中的动态申请内存,动态增长内存。 2, ArrayList不是线程安全的. 每个ArrayList实例都有一个容量,该容量是指用来存储列表元素的数组的大小。它总是至少等于列表的大小。随着向ArrayList中不断添加元素,其容量也自动增长。自动增长会原创 2015-05-11 12:09:58 · 449 阅读 · 0 评论 -
Java中Runnable和Thread以及Callable的区别
在java中,其实java中实现 多线程有三种方法,一种是继承Thread类;第二种是实现Runnable接口;第三种是实现Callable接口。1,继承Thread Thread类是在java.lang包中定义的。一个类只要继承了Thread类同时覆写了本类中的run()方法就可以实现多线程操作了,但是一个类只能继承一个父类,这是此方法的局限。 下面看例子:packag原创 2015-05-11 08:08:47 · 6380 阅读 · 0 评论 -
java设计模式之装饰模式
一,简介(java I/O采取了该模式) 装饰模式又名包装模式。 装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。 但是纯粹的装饰模式很难找到,大多数装饰模式的实现都是“半透明”的。 换言之,允许装饰模式改变接口,增加新的方法。 可以说半透明的装饰模式是介于装饰模式和适配器模式之间的。适配器模式的用意是改变所考虑的类的接口,也可以通过改写一个或几个方法,或增加新的方法来增原创 2017-07-21 00:05:48 · 366 阅读 · 0 评论