![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 82
日撸万行李大仙
这个作者很懒,什么都没留下…
展开
-
jvm jstat 内存分析
jstat 的参数-class 监视类装载、卸载数量,字节数,以及类装载所耗费的时间。-gc 监视java堆状况,包括Eden区,Survivor区,Old区,Perm区的容量,已使用容量及YGC,FGC发生的次数及耗费的时间。-gccapacity 监视Java堆各个区的最大,最小使用容量及配置容量。-gcutil 监视Java堆各个区的空间使用百分比及YGC,FGC发生的次数及耗费的时间。-gccause 同-gcutil功能相同,额外输出上一次GC产生的原因。-compiler 输出J原创 2022-03-08 11:29:31 · 413 阅读 · 0 评论 -
JAVA 1.8 十大新特性详解
本教程将Java8的新特新逐一列出,并将使用简单的代码示例来指导你如何使用默认接口方法,lambda表达式,方法引用以及多重Annotation,之后你将会学到最新的API上的改进,比如流,函数式接口,Map以及全新的日期API“Java is still not dead—and people are starting to figure that out.”本教程将用带注释转载 2016-01-26 18:09:42 · 1064 阅读 · 0 评论 -
[翻译]JDK 8 兼容性指南
翻译官方文档,译者精力有限,忽略部分划删除线。译者:坤谷(@JianhaoMo),井桐(@张同宝),激酶 兼容性是一个复杂的问题。 本文介绍了Java平台潜在的三种不兼容问题:源码: 源码兼容性问题关注Java源代码转换成class文件是否兼容,包括代码是否仍然可编译。二进制: 在Java语言规范中,二进制兼容性定义为:“类的改变是二进制兼容的(或者不破坏二进制兼容性),是指如转载 2016-01-26 18:40:52 · 1937 阅读 · 0 评论 -
深入了解JAVA可变长度的参数(Varargs)
到J2SE 1.4为止,一直无法在Java程序里定义实参个数可变的方法——因为Java要求实参(Arguments)和形参(Parameters)的数量和类型都必须逐一匹配,而形参的数目是在定义方法时就已经固定下来了。尽管可以通过重载机制,为同一个方法提供带有不同数量的形参的版本,但是这仍然不能达到让实参数量任意变化的目的。然而,有些方法的语义要求它们必须能接受个数可变的实参——例如著名的原创 2016-01-12 01:44:56 · 210 阅读 · 0 评论 -
线程基础:线程池——基本使用(下)
5、扩展ThreadPoolExecutor线程池实际上JAVA中提供的ThreadPoolExecutor线程池是鼓励各位程序员进行扩展的(虽然大多数情况下您无需扩展),并且JBOSS(Netty)、Apache(Camel)也正是这样在做。下面我们看看一些由ThreadPoolExecutor提供的扩展方式。5-1、Hook methods在ThreadPoolExecutor中提转载 2016-01-30 01:03:14 · 242 阅读 · 0 评论 -
ClassLoader详解及用途
ClassLoader主要对类的请求提供服务,当JVM需要某类时,它根据名称向ClassLoader要求这个类,然后由ClassLoader返回 这个类的class对象。 1.1 几个相关概念ClassLoader负责载入系统的所有Resources(Class,文件,来自网络的字节流 等),通过ClassLoader从而将资源载入JVM 每个class都有一个reference,指向转载 2016-01-14 21:32:18 · 193 阅读 · 0 评论 -
设计模式六大原则简单介绍
ocp : Open Close Principle开闭原则定义:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。srp : Single Responsibility Principle单一职责原则定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。LSP : 里式替换定义1:如果对每一个类型为 T1的对象 o1,都有类型为 T2原创 2016-04-04 16:16:31 · 181 阅读 · 0 评论 -
缓存应用--热点key问题(mutex key)
一、引出热点key问题 我们通常使用 缓存 + 过期时间的策略来帮助我们加速接口的访问速度,减少了后端负载,同时保证功能的更新,一般情况下这种模式已经基本满足要求了。 但是有两个问题如果同时出现,可能就会对系统造成致命的危害: (1) 这个key是一个热点key(例如一个重要的新闻,一个热门的八卦新闻等等),所以这种key访问量可原创 2017-01-11 09:21:21 · 889 阅读 · 0 评论 -
读取文件方法大全
1、按字节读取文件内容2、按字符读取文件内容3、按行读取文件内容4、随机读取文件内容 public class ReadFromFile { /** * 以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。 */ public static void readFileByBytes(String fileN原创 2017-08-01 16:11:00 · 148 阅读 · 0 评论 -
[翻译]JDK8有什么新东西?
翻译官方文档,译者精力有限,忽略部分划删除线。译者:坤谷(@JianhaoMo) ,校对:井桐(@张同宝)Java SE 8是一个Java主要特性的发布版本。本文总结了在Java SE 8、JDK 8以及Oracle实现的Java SE 8中的新特性和增强的功能。点击下面各个组件的名称可以获取该组件增强的更详细说明。Java编程语言Lambda表达式(Lambda Expr转载 2016-01-26 18:39:39 · 336 阅读 · 0 评论 -
java定时任务实现的几种方式
在开发测试工具的应用后台,经常听到同事说要做个定时任务把做日志处理,或者数据清理,包括做些复杂的业务计算逻辑,在选择定时任务的时候,怎么能够快速实现,并且选择一种更适合自己的方式呢? 我这里把定时任务的实现收集整理了一些方法,希望可以帮到刚开始做定时任务的同学,写得不对的地方请指正。一 Java 基本的定时任务,总结方法有三种: 1.1 创建一个thread,然后让转载 2016-01-26 18:38:21 · 478 阅读 · 0 评论 -
java 深拷贝探讨
java 深拷贝探讨本文将讨论以下4个问题 1. java Cloneable接口实现深拷贝 2. java 序列化实现深拷贝 3. 号称最快的深拷贝二方库cloning源码分析 4. 几种拷贝方式速度的比较深拷贝的概念本文就不说了。在C++中实现深拷贝一般情况下重载赋值操作符 “=” 来实现同一个类的对象间的深拷贝,所以很自然的在java中我们也同样转载 2016-01-26 18:37:41 · 410 阅读 · 0 评论 -
接口和抽象类有什么区别
接口和抽象类的概念不一样。接口是对动作的抽象,抽象类是对根源的抽象。抽象类表示的是,这个对象是什么。接口表示的是,这个对象能做什么。比如,男人,女人,这两个类(如果是类的话……),他们的抽象类是人。说明,他们都是人。人可以吃东西,狗也可以吃东西,你可以把“吃东西”定义成一个接口,然后让这些类去实现它.所以,在高级语言上,一个类只能继承一个类(抽象类)(正如人不可能同时是原创 2015-11-08 16:27:03 · 192 阅读 · 0 评论 -
The archive: /bin/bootstrap.jar which is referenced by the classpath, does not exist.
配置完毕后,欲在Eclipse中启动tomcat,但启动失败,每次都报错,错误提示如下:* The archive:/bin/bootstrap.jar which is referenced by the classpath, does not exist. 显然是路径问题,但问题出在哪儿,如何解决呢?这里是server的配置出了问题,双击eclipse中右下角面板中的servers原创 2015-10-19 21:24:08 · 1041 阅读 · 0 评论 -
java 异常java.lang.UnsupportedOperationException
在项目中采用一个枚举的集合,本人采用Collections中的空集合Collections.emptyList()在添加时发生异常:常见集合如下:private List vacationcategorys = Collections.emptyList(); 报错误如下:-- Encapsulated exception ------------\j原创 2015-10-11 17:00:53 · 293 阅读 · 0 评论 -
Eclipse Java EE 3.7+Tomcat7.0.27 +JDK 1.7配置
介绍一下安装的软件版本:JDK 1.7Tomcat 7.0.27Eclipse Java EE IDE_Indigo Service Release 1(eclipse 3.7)安装JDK1.7:1、 安装好JDK后 2、在计算机右击-->属性-->高级系统设置-->高级-->环境变量 -->新建输入变量名:JAVA_HOM原创 2015-10-19 21:09:47 · 608 阅读 · 0 评论 -
服务器启动时Webapp的web.xml中配置的加载顺序
一1、启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取和两个结点。 2、紧急着,容创建一个ServletContext(servlet上下文),这个web项目的所有部分都将共享这个上下文。 3、容器将转换为键值对,并交给servletContext。 4、容器创建中的类实例,创建监听器。 二 Load-on-startup原创 2015-10-24 22:06:56 · 248 阅读 · 0 评论 -
Java 解決BufferedReader读取UTF-8文件中文乱码
读取txt文件乱码:BufferedReader read = new BufferedReader(new FileReader(new File(filename)));解决办法:InputStreamReader isr = new InputStreamReader(new FileInputStream(file), "UTF-8");BufferedReader r原创 2015-10-30 15:30:29 · 335 阅读 · 0 评论 -
java 字节流与字符流的区别
字节流与和字符流的使用非常相似,两者除了操作代码上的不同之外,是否还有其他的不同呢?实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了缓冲区,通过缓冲区再操作文件,如图12-6所示。下面以两个写文件的操作为主进行比较,但是在操作时字节流和字符流的操作完成之后都不关闭输出流。范例:使用字节流不关闭执行Java代码原创 2015-10-30 16:18:10 · 181 阅读 · 0 评论 -
深入浅出ClassLoader(译)
该文章来自阿里巴巴技术协会(ATA)精选集你真的了解ClassLoader吗?这篇文章翻译自zeroturnaround.com的 Do You Really Get Classloaders? ,融入和补充了笔者的一些实践、经验和样例。本文的例子比原文更加具有实际意义,文字内容也更充沛一些,非常感谢作者 Jevgeni Kabanov 能够共享如此优秀的文档。为什转载 2016-01-26 18:36:00 · 352 阅读 · 0 评论 -
RuntimeException和Exception区别(运行时异常和普通异常)
Runtime Exception: 在定义方法时不需要声明会抛出runtime exception; 在调用这个方法时不需要捕获这个runtime exception; runtime exception是从java.lang.RuntimeException或java.lang.Error类衍生出来的。例如:nullpointexception,IndexOutOfBoundsExce原创 2015-11-05 22:50:00 · 1428 阅读 · 0 评论