JavaEE
zhu jun~
如果知识是片海洋,那我就是徜徉在海洋中的小鱼,汲取海水中的养分,让我不断成长,这样遨游地感觉让我十分地欢畅!
展开
-
EJB中有状态会话Bean的理解
想要理解EJB的有状态的会话Bean,我们可以先来看下Session是如何保存客户端的状态的。假设有多个客户端来访问同一个服务器,那么服务器是如何来区分这些不同的客户端呢?我们知道服务器回返回一个jsessionid给客户端,客户端将这个jsessionid写到客户端的cookie中。每次客户端向服务器发送请求的时候,都会在head中加入这个jsessionid(当有多个客户端访问时,服务器就原创 2016-04-25 10:57:33 · 572 阅读 · 0 评论 -
jdk配置是path和classpath的含义
Pathpath是系统用来指定可执行文件的完整路径。例如:如果没有设置path路径,路径也可以执行java文件,但必须把完整的写出来。如: C:\ProgramFiles\Java\jdk1.6.0_10\bin\javac TheClass.java。path是用来搜索可执行文件路径的。如果执行的可执行文件不在当前目录下,那就会一次搜索path中设置的路径;而java的各种操作命令是放在安装路径原创 2017-10-13 15:51:23 · 2264 阅读 · 0 评论 -
jvm学习笔记--运行时数据区域
运行时数据区域Java虚拟机在执行Java程序的过程中会吧它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则依赖用户线程的启动和结束而建立和销毁。程序计数器程序计数器(Program Counter Register)是一块较小的内存空间,它可以看做是当前线程所执行的字节码的行号指示器。在虚拟机的概念模型里,字节码解原创 2017-10-22 23:04:15 · 515 阅读 · 0 评论 -
Java中线程同步
线程同步机制在Java中提供了同步机制,可以有效地防止资源冲突。同步机制使用synchronized关键字。1.同步块同步块被称为临界区,它使用synchronized关键字建立,其语法如下:synchronized(Object){}通常将共享资源的操作放置在synchronized定义的区域内,这样当其他线程也获得这个锁时,必须等待锁被释放才能进入该区域。Object为任意一个对象,每个对象都原创 2017-11-12 19:59:15 · 271 阅读 · 0 评论 -
java调用OutputStream接口中flush方法,真的会立即刷新吗?
自己最近在做一个项目和socket通信有关,其中有段逻辑是这样的。其中我是发送方,另一个是接收方。第一步:发送方向接收方发送一段消息。 第二步:接收方回复消息。消息内容为:发送方消息否发送成功。如果成功,接收方会再回复一条消息,消息内容为:执行发送方消息后的结果。其中,接收方每次发送消息后,都会调用flush方法。因此,我作为接收方,使用了两次read方法来读取消息。紧接着,bug就产生了。但这个原创 2017-11-10 10:00:50 · 9129 阅读 · 1 评论 -
让你更容易理解java中类之间的6种关系
继承关系继承关系包括子类和父类、子接口和父接口之间两种继承关系。用空心三角形和实线表示这种继承关系。 实现关系类和接口之间的关系,用空心三角形和虚线表示。依赖关系依赖关系:A类会用到B类,这种关系具有偶然性,临时性。但B类的变化会影响A类。这种在代码中的体现为:A类方法中的参数包含了B类。 由虚线和箭头表示。 关联关系关联关系:A类会用到B类,这是一种强依赖关系,是长期的并非偶然。在代码中的表原创 2017-11-15 11:28:41 · 2295 阅读 · 0 评论 -
log4j2之Layouts学习笔记
首先Layout是布局的意思。在Log4j2中Layouts用来表示日志输入的形式和样式。 Layouts的输出形式多种多样包括CVS Layout,HTML Layout,JSON Layout,Pattern Layout等。 本次我学习了其中的Pattern Layout。 原文: A flexible layout configurable with pattern string.原创 2017-11-16 14:39:19 · 642 阅读 · 0 评论 -
Log4j2之RollingFileAppender学习笔记
RollingFileAppenderThe RollingFileAppender is an OutputStreamAppender that writes to the File named in the fileName parameter and rolls the file over according the TriggeringPolicy and the TolloverPoli原创 2017-11-28 10:56:46 · 2693 阅读 · 0 评论 -
jdk源码阅读--Object
jdk源码阅读–Objectnative关键字的含义native表示java语言调用其他的语言,例如c语言。因为jvm依赖于c语言,所以navtive就是告诉jvm要调用的方法来自于外部。equals(Object obj)方法Object中equals方法的源码如下,调用的是==来比较两个对象。 public boolean equals(Object obj) { r...原创 2019-01-23 17:06:32 · 446 阅读 · 0 评论 -
jdk源码阅读-String
成员变量private final char value[];这是定义数组的另一种写法,常见的写法为private final char[] value;这里value用final来修饰,说明value是一个常量,被赋值不能被改变。(知识点:java中final修饰成员变量的作用:final成员变量表示常量,只能被赋值一次,复制后不能被改变)。private static final Co...原创 2019-01-29 22:43:35 · 248 阅读 · 0 评论 -
java中equals方法和hashCode方法的设计原则
equals()与hashCode()方法之间的设计实现原则为:如果两个对象相等(使用equals()方法),那么必须拥有相同的哈希码(使用hashCode()方法).即使两个对象有相同的哈希值(hash code),他们不一定相等.意思就是: 多个不同的对象,可以返回同一个hash值....原创 2019-02-12 11:24:19 · 714 阅读 · 0 评论 -
java中创建线程的方法
There are two ways to create a new thread of execution. One is to declare a class to be a subclass of Thread. This subclass should override the run method of class Thread. An instance of the subclass c原创 2017-10-03 16:34:15 · 274 阅读 · 0 评论 -
JVM学习笔记-JAVA技术体系
sun官方所定义的Java技术体系包括以下几个组成部分:Java程序设计语言各种硬件平台上的Java虚拟机Class文件格式Java API类库我们可以把Java程序设计语言、Java虚拟机、Java API类库这三部分统称为JDK(Java Development Kit),JDK是用于支持Java程序开发的最小环境。另外,可以把Java API类库中的Java SE API子集和Jav原创 2017-10-18 13:57:43 · 365 阅读 · 0 评论 -
JavaBean和EJB的区别
JavaBean和EJB的区别是显著的:1.JavaBean是符合一定规范的java类。JavaBean的规范如下: 1>JavaBean必须提供一个无参的构造函数。 2>JavaBean的不能提供public修饰的属性 3>JavaBean提供一组get、set方法 4>JavaBean必须是一个公共的类2.JavaBean只是开发组建,而不是部署组建。J原创 2016-04-28 17:34:41 · 777 阅读 · 0 评论 -
远程访问EJB
最近做了一个小实验,可以通过本地实现通过远程接口来访问EJB。本次实验采用的是EJB3.0的标准,说实话EJB3.0确实在EBJ2.0的基础上简化了不少,也就是说EJB3.0更趋向于面向POJO编程。在本次实验中,只需要通过简单的注解方式就可以完成EJB3.0的sessionBean的开发工作。SessionBean的开发还是比较简单的,接下来就是讲SessionBean部署在EJB容器中,本原创 2016-05-25 21:56:46 · 506 阅读 · 0 评论 -
RPC模型和rest的区别
RPC:Remote Procedure Call Protocol--远程过程调用REST:Rerespentital Statuful Transaction--表述性状态转移仔细理解他们的名称的含义,我们从中可以体会到他们之间的差异:RPC是远程过程调用,过程即我们常说的方法。因此RPC主要是面向动作的。REST中表述性可以理解为一种资源,状态转移,即资源在系统之间的转移。原创 2016-05-06 21:42:24 · 493 阅读 · 0 评论 -
简明易学之JNDI一
JNDI也看了这么多资料,也没有完全搞懂它,今天讲讲JNDI的基础知识部分,下一个部分会说JNDI的实例。JNDI包括了两个部分,一个部分叫做命名服务,一个部分叫做目录服务。命名服务,比如我们的dns,就是通过一个名称映射到另一个对象。比如dns服务,我们输入www.baidu.com这个网址时,它会帮我们自动从域名服务器中找到它对应的ip地址。目录服务,可以理解为一个非关系型的数据库原创 2016-05-19 22:07:03 · 326 阅读 · 0 评论 -
java中PropertyEditor
PropertyEditor接口它的主要目的的提供字符串和类属性之间的转换,它有一个实现类PropertyEditorSupport,其中比较重要的方法有四个:1.get/setValue()2.get/setAsText()其中setAsText的主要作用是用一个或多个字符串来转换为类中的一组属性的值。原创 2016-06-30 21:32:35 · 488 阅读 · 0 评论 -
java中泛型--把泛型从文言文解释为白话文
java中声明泛型类的方式如下:类其中T代表类型的名称。那么泛型到底是什么呢?首先,你要记住以上述形式声明的类叫做泛型类。举个例子public class AnyClass { private T t; private K k; public void doSomeThing(T t, K k) { this.t =原创 2016-08-28 17:02:39 · 518 阅读 · 0 评论 -
被误读了千年的回调函数--写得实在太好了
作者:桥头堡链接:http://www.zhihu.com/question/19801131/answer/27459821来源:知乎著作权归作者所有,转载请联系作者获得授权。什么是回调函数?我们绕点远路来回答这个问题。编程分为两类:系统编程(system programming)和应用编程(application programming)。所谓系统编程,简单转载 2016-09-20 10:18:31 · 2964 阅读 · 1 评论 -
JPA中could not insert: 的解决办法
报错如下: javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: could not insert: [com.zj.bean.Person]persistence.xml:<?xml version="1.0" encoding="utf-8"?><persistence原创 2016-09-26 11:43:44 · 4985 阅读 · 0 评论 -
java中原码、反码和补码--时钟理解法
若想练得上乘功夫,必先基础功扎实。就像现在练吉他一样,想把和弦转换地流畅就得先把左手的按钮练好,否则可能连练下去的信心都没有了,或者勉强去转换和弦得到的音色肯定也不会理想,或者断断续续。虽然,从大学开始就接触java了,但是基本功一直不怎么扎实。以至于对现在的框架、设计模型等等理解的都比较浅。因此,我打算从新拾起这些基础知识好些研究下。因此,推出我个人博客的这个系列《静下心来学java》。1、原码原创 2017-03-20 16:55:23 · 3313 阅读 · 0 评论 -
读AbstractList源码,理解ConcurrentModificationException报错产生的原因
话不多说,先看AbstractList的内部类Itr中的next()方法,在此之前了解下Itr类,该类实现了Iterator接口。private class Itr implements Iterator<E> { /** * Index of element to be returned by subsequent call to next. ...原创 2019-03-06 22:41:48 · 295 阅读 · 0 评论