
【Java杂项】
文章平均质量分 72
HYunEr
不思故有惑不求故无得不问故不知
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java 泛型初识
泛型是Java 5 的新特性,其本质是参数化类型,即所操作的数据类型被指定为一个参数。这种数据类型的指定可以使用在类、接口和方法的创建中,分别称为泛型类、泛型方法和泛型接口。泛型起因:JDK1.4以前类型不明确原创 2014-04-07 16:30:00 · 1549 阅读 · 8 评论 -
Java后台服务— JPush 实现
随着App开发的普及,推送功能在App应用中也越来越重要。我们知道ios有自己的推送服务,但是Android并没有自己的原生推送机制,通常采用的是基于XMPP协议的推送。 这种开发很麻烦,因此市场上有很多第三方的推送服务,比如友盟、极光、亚马逊、百度云等等。我们在项目中用到的是极光推送。Android 推送原理一般如下:原创 2016-06-07 14:26:50 · 12738 阅读 · 4 评论 -
VisualVM 实现JVM内存监控
VisualVM 简介VisualVm 集成在JDK1.6以上的版本中的一个分析工具,安装完jdk 之后,在jdk/bin 目录下直接运行jvisualVM.exe即可,也可以单独下载独立的jvisuanlVM。 VisualVM 可以用来监控内存泄漏、跟踪垃圾回收、执行时内存、cpu分析、线程分析…….Visual VM 远程监控进入服务器的/usr/local/jdk1.80/bin目录中,原创 2017-05-02 23:05:22 · 3611 阅读 · 0 评论 -
使用 VisualVM 进行性能分析及调优
概述开发大型 Java 应用程序的过程中难免遇到内存泄露、性能瓶颈等问题,比如文件、网络、数据库的连接未释放,未优化的算法等。随着应用程序的持续运行,可能会造成整个系统运行效率下降,严重的则会造成系统崩溃。为了找出程序中隐藏的这些问题,在项目开发后期往往会使用性能分析工具来对应用程序的性能进行分析和优化。VisualVM 是一款免费的性能分析工具。它通过 jvmstat、JMX、SA(转载 2017-05-03 16:55:11 · 1257 阅读 · 0 评论 -
使用jvisualVm 诊断java程序故障
最近一段时间,在线上环境的导出excel文件功能老是出现问题,在程序响应一段时间后,程序就中断了。 但是查看日志文件,没有报任何的堆栈信息。最后经过问题排查很诊断,应该是跟内存有关,所以在网上搜索了一些资料,发现jvisualVM 是一款比较好的监控工具。 通过jvisualVM 发现,在程序运行下,堆基本上达到了峰值。如下图: 由此可以推断出堆设的有点小,解决方案,调整tomcat 内存大小。t原创 2017-05-03 17:42:59 · 1684 阅读 · 0 评论 -
tomcat中的几种log
原文:http://www.10tiao.com/html/240/201705/2649257445/1.html日志是程序员居家旅行必备,哦不对,是定位问题,修复bug,甚至是验证应用是否正常的必备利器。甚至很多时候,我们做一次部署仅仅是为了加一行log。虽然现在有各种各样的问题诊断工具,但是在定位线上问题时,我们很多时候还是希望有打印良好的log。打印良好的log很重要,但是知道我们需要...转载 2018-10-24 11:29:26 · 2471 阅读 · 0 评论 -
Java NIO 系列—Java NIO 与 IO
Nio 是java New IO的简称,在jdk1.4里提供的新api。Sun 官方标榜的特性如下: 1. 为所有的原始类型提供(Buffer)缓存支持。 2. 字符集编码解码解决方案 3. channel : 一个新的原始I/O 抽象。 4. 支持锁和内存映射文件的文件访问接口。 5. 提供多路(non-bloking)非阻塞式的高伸缩性网络I/O。 NIO创建目原创 2017-07-02 22:52:19 · 1049 阅读 · 0 评论 -
Java IO : ObjectInputStream、ObjectOutputStream
java IO 对象序列化什么是Java 对象序列化?java平台允许在内存中创建可复用的java对象,但一般情况下,只有当JVM处于运行时,这些对象才可能存在,即这些对象的生命生命周期不会比JVM生命周期长。但在现实应用中,就可能要求在JVM停止运行之后能够保存(持久化)指定的对象,并在将来重新读取被保存的对象。 Java对象序列化就能够实现该功能。使用Java 对象序列化,在保存对象时,会将其转原创 2016-07-08 18:28:55 · 1519 阅读 · 0 评论 -
Java IO : RandomAccessFile
Java IO : RandomAccessFile标签(空格分隔): 【java】RandomAccessFile 支持“随机访问”的方式,程序可以直接跳转到文件的任意地方来读写数据。即既支持读取文件内容,也支持向文件输出数据。 RandomAccessFile 对象包含了一个记录指针,用以标识当前读写处的位置,新创建一个RandomAccessFile对象时,该对象的文件记录指针位于0处,当读/原创 2016-07-06 17:27:41 · 1607 阅读 · 0 评论 -
Java IO : outputStream 、Writer
在上篇文章中我们提及到,输出流往往和某些数据的目标媒介相关联,如文件、网络连接、管道等。 当写入到输出流的数据逐渐输出完毕时,目标媒介是所有数据的归属地。outputStream 和 write 两个流都采用了如下方法: void write(int b) : 将指定流的字节/字符输出到输出流中 void write(byte b[]) :将字节数组/字符数组中的数据输出到指定输出...原创 2016-07-04 17:49:05 · 1731 阅读 · 0 评论 -
Java IO : InputStream、Reader
Java 的输入流主要由InputStream 和Reader 作为基类,而输出流则主要由OutputStream 和 writer 作为基类。在前面的Java IO:概述中,我们已提到过,流分为字节流和字符流、节点流和处理流。字节流和字符流区别在于操作的数据单元不同,字节流操作最小数据单元是8位的字节,字符流操作的最小数据单元是16位的字符。字节流主要是由InputStream和...原创 2016-07-04 17:35:54 · 1322 阅读 · 0 评论 -
Java I/O : 概述
Java I/O 是机器获取和交换信息的主要渠道,当前在这个海量数据时代,数据在网络中随处流动,这个六到的过程都涉及到I/O问题,可以说I/O问题是整个人机交互的核心问题,很多Web应用系统的瓶颈都是I/O瓶颈。I/O 的概念:I/O 即我们所说的输入和输出,既然是输入和输出,那么肯定是一个应用程序从某个数据源进行读取,再将原始数据输出到目标媒介,下面我们看普通的数据源和媒介都有哪些:...原创 2016-06-23 19:20:17 · 1186 阅读 · 0 评论 -
程序媛开发之路—JSP自定义标签
jsp自定义标签就是通过自定义标签实现类来实现复杂的、可重复利用的功能。简化jsp页面,提高代码的复用性。比如我们需要在页面上定义一个下拉框控件(Select),我们需要加载从数据库中查出来的数据。我们就可以通过定义select标签的方式,将SQL查询,组织数据,如循环遍历等事情全部在jsp标签类中实现。 这样有什么好处呢?主要目的是为了取代丑陋的jsp脚本,在Html页面中插入JSP原创 2015-08-25 17:16:30 · 1594 阅读 · 1 评论 -
Java反射基础(二)— Class类
上一篇博客中我们提到了ClassLoader,知道ClassLoader是用来动态加载某个Class文件到内存当中,但是这个Class文件是怎么生成的呢?从何而来?这又涉及到另一个概念—java.lang.Class。Class 是java的一个特殊类,对于我们定义的类、接口,它更算是一个抽象类。Class类用于封装被装入到JVM中的类(包括类和接口)的信息。 当一个类和接口被装入JV原创 2015-05-31 15:15:04 · 1409 阅读 · 2 评论 -
J2EE请求与响应—Servlet
一、什么是Servlet? Servlet是运行Web服务器上的一个特殊Java类,其特殊用途是响应客户端请求,做出处理,使得客户端与服务器端进行交换。 二、Servlet生命周期Servlet生命周期是通过Web容器控制,主要分为以下几个阶段: 1、创建servlet的实例2 、初始化阶段,调用init()方法3、响应请求,调用service()方法4原创 2014-06-24 15:52:32 · 2362 阅读 · 22 评论 -
J2EE动态网页技术—JSP
学习JSP,我们需要知道的是什么是JSP?JSP有什么特点?JSP与svelte有什么关系? 第一个概念:JSP是服务器端运行的一种脚本语言,这类似的语言还有ASP、PHP等。 JSP vs ASP原创 2014-06-29 21:16:34 · 3085 阅读 · 18 评论 -
Filter技术+职责链模式
Filter技术是java web应用中最常见的一种技术。原创 2014-07-30 18:23:35 · 2754 阅读 · 16 评论 -
J2EE肌肉系统—四层模型
J2EE是基于JAVA技术的一种标准。为什么会有这样的标准呢?主要是在企业级应用开发当中,有一些需求,例如数据库连接,邮件服务、事件处理等,都是一些通用模块。而这些模块如果由开发人员来开发,势必增加开发周期和代码量。于是许多公司开发了自己中间件。但是不同的公司开发的中间件不同,达不到通用的效果。所以,为了通用必须提出规范,制定出一套的标准。原创 2014-06-22 11:30:59 · 5049 阅读 · 18 评论 -
JSP内置对象—session
session对象是用来在每一个用户之间分别保存每一个用户信息的对象,以便跟踪用户的操作状态。session的信息保存在服务器端,session的id保存在客户端的cookie中。 例如我们乘坐火车就可以看做是一个session。当我们乘坐火车的时候,我们需要持有一张车票。车票就相当于是一个cookie。而车票上的座位号就相当于是sessionId。当我们需要访问列车的时候,检票员会事先检查我们是否持有cookie,如果有就根据cookie里的内容(sessionId) 来判断使用者。如果没有会再一次原创 2014-07-31 21:47:30 · 1547 阅读 · 11 评论 -
EJB初体验-会话Bean
会话bean核心在于:客户端发出的要完成某个业务处理的请求都会在一个会话中完成。什么是会话,会话就是有限的时间周期内客户端和服务器之间的连接。那会话是什么呢?会话是有限的时间内客户端和服务器之间的连接。会话持续的时间可能很短,如HTTP请求,也可能很长,如Telnet会话。会话bean是唯一一种可以被客户端直接调用的EJB组件,客户端可以是任何形式,如web应用程序原创 2015-01-31 23:51:40 · 1108 阅读 · 7 评论 -
EJB初体验-概述
Ejb(Enterprise JavaBeans)是使用java语言构造可移植的、可重用的和可伸缩的业务应用程序的平台。从开发者的角度,EJB是在称为EJB容器的特定运行时环境中执行的一段java代码,容器提供若干组件服务。 EJB组件有三种类型:会话bean、消息驱动bean和实体bean。会话bean和消息驱动bean用于实现EJB应用程序中的业务逻辑,而实体用于持久化。原创 2015-01-31 22:07:46 · 1248 阅读 · 6 评论 -
我也来谈谈缓存
实体关系从方向分单向关联和双向关联;从实体数量上分一对一、一对多和多对多。单向关联:一个实体引用了另外一个实体,简单说,就是通过一个实体可以获得另一实体的对象。双向关联:两个实体之间互相持有对方的引用。原创 2015-03-31 23:19:26 · 1093 阅读 · 7 评论 -
JPA初体验(一)简介
JAVA领域中,持久化是企业开发中必不可少的技术。Java领域中曾涌现出几种试图解决数据持久化问题的几种方案。例如:序列化(Serialization)、JDBC、对象关系映射(ORM)、EJB2.X和最新的JPA等。序列化,是java内置的持久化Java对象的机制。只要某个类实现了java.io.Serializable接口,就能使用java.io.objectOutputStrea原创 2015-03-30 23:56:17 · 1109 阅读 · 7 评论 -
JPA初体验系列(二) 实体管理器简介
一、什么是实体管理器实体对象与数据库交互中介管理实体CRUD操作负责与持久化上下文交互二、起到什么作用负责将实体对象操作转换为SQL脚本,以便持久化负责将面向实体查询的JQL转换为SQL脚本,并将返回的查询结果组装实体管理实体的状态原创 2015-03-31 23:21:21 · 1474 阅读 · 9 评论 -
Java反射基础(一) — ClassLoader简介
人们都说:反射反射程序员的快乐!反射技术运用的很广泛,如果想要你的系统灵活具有生命力,一般情况下是离不开反射的。 最近在研究AOP和容器的时候,都用到了动态代理,再一次接触到了反射的概念。最早接触到反射的概念还是在两年前学习抽象工厂模式,只是那时候只知道通过反射+配置文件用户可以灵活的更换数据库,但至于为什么,什么原理不清楚。这次借着再次接触的概念,来学习一下反射机制的原理。 定义:反原创 2015-05-29 13:59:31 · 1306 阅读 · 1 评论 -
Java IO:File 类
Java.io 包下的File 类可以让你访问底层文件系统,通过File类,可以新建、删除和重命名文件和目录。注意:File类不能访问文件内容本身,如果需要访问文件内容,需要使用输入(FileInputStream)、输出流(FileOutputStream) 。1.实例化一个File 对象File f = new File("E:/javaFile/create.txt"); ...原创 2016-07-04 11:23:12 · 1238 阅读 · 0 评论