![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 62
GatsbyNewton
这个作者很懒,什么都没留下…
展开
-
Java NIO教程(上)
原文:Java NIO Tutorial,作者:Jakob Jenkov,译文版本:version 1.01.Java NIO指南Java NIO(New IO)是Java1.4引入的一种新IO,可以代替标准Java IO和Java Networking的API。Java NIO提供了一种和标准IO的API不同的IO工作方式。1.1Java NIO:Channel和Buffer翻译 2015-11-24 21:38:57 · 863 阅读 · 0 评论 -
JSON之Jackson(二)
JSON之Jackson(一)JSON之Jackson(二)1.Jackson JsonParserJackson JsonParser比Jackson ObjectMapper更底层,这就使得Jackson JsonParser比ObjectMapper更快,但是也更加笨重。Jackson JsonParser的工作方式是:将JSON分成一个记号序列,让你迭代记号(Token)序列进...原创 2016-04-17 10:31:10 · 6162 阅读 · 1 评论 -
Common CLI
1.Commons CLIApache Commons CLI提供了解析命令行参数的API。它也可以在命令行打印详细的参数信息。官网教程:http://commons.apache.org/proper/commons-cli/usage.html,Commons CLI的Javadoc:http://commons.apache.org/proper/commons-cli/javadocs...原创 2016-04-19 23:24:10 · 2835 阅读 · 0 评论 -
XML之StAX(一)
XML之StAX(一)XML之StAX(二)1.StAXStAX是绑定在JDK中的,面向流和事件(Stream/Event)的XML解析器。StAX采用的是“pull“方式解析XML,即你的解析方法可以控制什么时候解析器继续向下解析,以及可以在任何位置停止解析。这就像解析方法在从解析器里拉XML事件一样。StAX的这种解析方式,意味着你不得不按照XML文件的元素,逐条移动StAX解析器...原创 2016-04-23 14:13:55 · 794 阅读 · 0 评论 -
XML之StAX(二)
XML之StAX(一)XML之StAX(二)面向Stream的StAXXMLStreamReaderStAX中的XMLStreamReader类提供了一个Cursor形式的API,用于解析XML。和Iterator API一样,允许你确定何时访问下一个Event,这里的Event是元素开头,元素的结尾,一组text等。XMLStreamReader的next()方法不返回Event...原创 2016-04-30 15:41:54 · 807 阅读 · 0 评论 -
Java 数据结构与集合
1. 集合图谱Java 集合图谱:1.1 List 集合List 集合是线性数据结构的主要实现,List 集合的遍历结果是稳定的。该体系最常用的是 ArrayList 和 LinkedList。ArrayList 是容量可以改变的非线程安全集合。内部实现使用数组进行存储,集合扩容时会创建更大的数组空间,把原有数据复制到新数组中。ArrayList 支持对元素的快速随机访问,但是插入与删除时...原创 2018-11-15 23:01:22 · 2559 阅读 · 0 评论 -
Java 并发概述
并发(Concurrency),是指在某个时间段内,多任务交替处理的能力。并行(Parallelism),是指同一时刻同时处理多任务的能力。在并发环境下,由于程序的封闭性被打破,出现了以下特点:并发程序之间有相互制约的关系。直接制约体现为一个程序需要另一个程序的计算结果;间接体现为多个程序竞争共享资源,如处理器、缓冲区等。并发程序的执行过程是断断续续的。程序需要记忆现场指令及执行点。当并...原创 2019-01-01 11:46:13 · 346 阅读 · 0 评论 -
线上故障排查(一)——高CPU占用
1. 计算密集型任务一般线上的任务会分为:计算密集型任务和IO密集型任务,其中计算密集型任务也叫做CPU密集型任务,是指CPU计算占主要的任务,CPU一直处于近乎满负荷状态。在公司中,一般服务器CPU占用率超过一定的阈值,就会有报警,这时候我们就不得不去排查自己的线上任务在哪个地方导致了CPU占用过高。今天我们就介绍一下线上应用高CPU占用的排查。2. 线上排查我这里主要介绍 Java 应...原创 2019-02-19 23:09:18 · 997 阅读 · 0 评论 -
线上故障排查(二)——高MEM占用
1. 高内存占用线上故障排查(一)——高CPU占用一文中介绍了高 CPU 占用程序的排查,今天我们介绍高MEM占用的程序。高内存占用的程序是指内存消耗比较大的程序。我们在开发 Java 应用程序的时候,一定见过 OOM(即 java.lang.OutOfMemoryError)。在 JVM 内存模型中,Java 虚拟机栈、本地方法栈、Java 堆、方法区(JDK8 之后是元空间,取消了永久代)都...原创 2019-03-10 20:58:06 · 3355 阅读 · 0 评论 -
JSON之Jackson(一)
JSON之Jackson(一)JSON之Jackson(二)1.JSON简介JSON的全称是JavaScript Object Notation,是一种轻量级的数据交换格式。 JSON与 XML具有相同的特性,例如易于人编写和阅读,易于机器生成和解析。但是 JSON比XML数据传输的有效性要高出很多。 JSON完全独立与编程语言,使用文本格式保存。JSON的数据格式是名/值对,其中值可...原创 2016-04-16 21:25:42 · 14853 阅读 · 1 评论 -
Web五层架构
这篇文章其实是去年我给别人讲Web分层结构时做的一个ppt,只是个人的观点和想法。1.Model1和Model2首先,Model1是指JSP+JavaBean。Model1比较适合于一些较小项目,但是,对于现在的情况而言,Model1已经被弃用了。结构如下:至于Model2是指JSP+Servlet+JavaBean。Model2 出现以后,人们于实际应用过程中发现,其中的 jsp...原创 2015-10-23 19:14:47 · 20546 阅读 · 0 评论 -
Java NIO教程(下)
原文:Java NIO Tutorial,作者:Jakob Jenkov,译文版本:version 1.012.Java NIO之DatagramChannelJava NIO的DatagramChannel是一个发送和接收UDP数据包的Channel。因为UDP是无连接网络协议,所以你不能像从其他Channel那样默认地向DatagramChannel中读写数据。它收发的是数翻译 2015-11-24 21:40:06 · 1347 阅读 · 0 评论 -
Java NIO教程(中)
原文:Java NIO Tutorial,作者:Jakob Jenkov,译文版本:version 1.07.Java NIO之SelectorSelector(选择器)是Java NIO中一个能够检测到一个或多个Channel,并且确定哪些Channel做好了读或写的准备。这样一来,单线程就可以管理多个Channel,和多个网络连接。7.1为什么使用Selector翻译 2015-11-24 21:39:29 · 866 阅读 · 1 评论 -
浮点数陷阱
今天在用Hive的时候,发现浮点数比较有个陷阱,即FLOAT类型和DOUBLE类型的比较。如果我不刻意问的话,大家估计大部分人都认为FLOAT类型的0.2和DOUBLE类型的0.2相等。事实上不是这样的,这是后来我在《Programming Hive》中找到的答案。想知道更多细节,且听我下面细细道来。比如,我们定义了一个FLOAT类型的变量f = 0.2,和DOUBLE类型的变量 d =原创 2016-01-08 14:42:06 · 1798 阅读 · 0 评论 -
Java动态代理(Dynamic Proxy)
1.Proxy定义Dynamic Proxy API是在Java1.3中引入的。Proxy强制对象方法通过代理对象(Proxy Object)调用。代理对象被声明客户端对象没有迹象表明他们有代理对象的实例。一些常用的代理有:access proxy、facade、remote proxy和virtual proxy。access proxy被用于在访问服务器或提供数据的对象时实施安原创 2015-12-26 14:00:27 · 1374 阅读 · 0 评论 -
Java调用Shell命令和脚本
1.介绍有时候我们在Linux中运行Java程序时,需要调用一些Shell命令和脚本。而Runtime.getRuntime().exec()方法给我们提供了这个功能,而且原创 2016-05-07 13:45:43 · 92295 阅读 · 7 评论 -
Java Label
在Java中“{”和“}”组成一个代码块(code block),如我们最常用到的static代码块,而每个代码块都可以用一个Label,Label不是Java中的关键字,而是一个任意的标识符。由于我们一般不怎么用Label,此时难免会有人问:Label到底有什么用呢?大家不要急,且听我慢慢道来。试想一个这样的场景:有一个两重循环,但是当在内层循环中找到了满足的条件,就停止两重循环就退出执行。原创 2016-06-04 11:31:17 · 7616 阅读 · 0 评论 -
Struts+Spring+Hibernate整合
这段笔记三两年前写的,一直因为一些琐事,或者搞忘记了,没有发。今天偶然翻出了它,就和大家一起分享下吧。1.导入jar包Struts的jar包:Spring的jar包:Hibernate的jar包: 注意:只保留一个高版本的common-logging.jar包,Struts的jar包中struts2-spring-plugin-2.1.8.jar是必须要导入的,因为其是整...原创 2015-07-17 11:03:24 · 583 阅读 · 0 评论