JAVA语言基础
lijieshare
这个作者很懒,什么都没留下…
展开
-
【JAVA操作数据库之JDBC基础代码】
package demo.tt; import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.Statement; public class DBUtil {...2016-07-03 21:14:06 · 80 阅读 · 0 评论 -
【JAVA对象之克隆介绍】
一、为什么要克隆?直接new一个对象不行吗?克隆的对象可能包含一些已经修改过的属性,而new出来的对象的属性都还是初始化时候的值,所以当需要一个新的对象来保存当前对象的“状态”就靠clone方法了。那么我把这个对象的临时属性一个一个的赋值给我新new的对象不也行嘛?可以是可以,但是一来麻烦不说,二来,大家通过上面的源码都发现了clone是一个native方法,就是快啊,在底层实现的。...2017-05-31 20:03:52 · 73 阅读 · 0 评论 -
【JVM默认时区影响因素】
说起java中的时间,大家或许都很熟悉,朗朗上口的Date、Calendar、SimpleDateFormat等。但是大家对他们的认识真的很深刻吗?今天我要想大家说的是TimeZone,即时区。 经常有人发现时间不对,比如相差8个小时等等,其真实原因便是TimeZone.只有正确合理的运用TimeZone,才能保证系统时间无论何时都是准确的。 一、影响TimeZone的因素:...2017-06-21 19:20:36 · 371 阅读 · 0 评论 -
【JAVA EE之基础面试题】
永久链接: http://gaojingsong.iteye.com/blog/2386483预览文章: 【JAVASE基础面试题】 1、网络编程(Socket/DatagramSocket/ServerSocketChannel )Socket通信的步骤 ① 创建ServerSocket和Socket ② 打开连接到Socket的输入/输出流 ③ 按照协议对S...2017-08-11 21:08:36 · 133 阅读 · 0 评论 -
【 Java虚拟机工作原理详解】
宏观上介绍一下Java虚拟机的工作原理。从最初的我们编写的Java源文件(.java文件)是如何一步步执行的,如下图所示,首先Java源文件经过前端编译器(javac或ECJ)将.java文件编译为Java字节码文件,然后JRE加载Java字节码文件,载入系统分配给JVM的内存区,然后执行引擎解释或编译类文件,再由即时编译器将字节码转化为机器码。主要介绍下图中的类加载器和运行时数据区两个部分。...2017-09-07 20:48:39 · 143 阅读 · 0 评论 -
【JAVA单例模式之殇】
潜意识里面:私有方法不可以被调用,当然了包括私有构造方法,因为java语言基础里面反复这么说的,可是当单例模式遇到反射,单例引以为傲的构造方法私有化,防止重复new对象,被败得一塌糊涂,因为利用反射可以得到类里面的一切想得到的,就算你用private声明封装隐藏,也不可用..... 一、代码如下:package cn.com.test;import java.lang.refl...2017-02-10 22:09:07 · 84 阅读 · 0 评论 -
【深入理解 Java 垃圾回收机制】
什么是Java垃圾回收器 Java垃圾回收器是Java虚拟机(JVM)的三个重要模块(另外两个是解释器和多线程机制)之一,为应用程序提供内存的自动分配(Memory Allocation)、自动回收(Garbage Collect)功能,这两个操作都发生在Java堆上(一段内存快)。某一个时点,一个对象如果有一个以上的引用(Rreference)指向它,那么该对象就为活着的(Live)...2017-10-15 13:10:00 · 98 阅读 · 0 评论 -
【String和inputStream的转换】
InputStream提供的是字节流的读取,而非文本读取,用Reader读取出来的是char数组或者String ,使用InputStream读取出来的是byte数组。 Reader类及其子类提供的字符流的读取char,inputStream及其子类提供字节流的读取byte,所以 FileReader类是将文件按字符流的方式读取,FileInputStream则按字节流的方式读取文件;In...2017-12-19 23:20:36 · 124 阅读 · 0 评论 -
【jar命令的用法详解】
JAR包是Java中所特有一种压缩文档,其实大家就可以把它理解为.zip包。当然也是有区别的,JAR包中有一个META-INF\MANIFEST.MF文件,当你找成JAR包时,它会自动生成。JAR包是由JDK安装目录\bin\jar.exe命令生成的,当我们安装好JDK,设置好path路径,就可以正常使用jar.exe命令,它会用lib\tool.jar工具包中的类。这些细节就不用管它了。...2017-12-31 19:59:56 · 172 阅读 · 0 评论 -
JAVA之ArrayListt源码解读
ArrayList是基于数组实现的,是一个动态数组,其容量能自动增public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable ArrayLi...2017-03-05 18:20:36 · 94 阅读 · 0 评论 -
【JAVA语言之关键字Volatile】
1、为什么要使用VolatileVolatile变量修饰符如果使用恰当的话,它比synchronized的使用和执行成本会更低,因为它不会引起线程上下文的切换和调度。 当我们声明共享变量为volatile后,对这个变量的读/写将会很特别。理解volatile特性的一个好方法是:把对volatile变量的单个读/写,看成是使用同一个监视器锁对这些单个读/写操作做了同步。在《Jav...2017-05-13 11:48:35 · 97 阅读 · 0 评论 -
【JAVA之NIO编程Client端】
package demo.test;import java.io.IOException;import java.net.InetSocketAddress;import java.nio.ByteBuffer;import java.nio.channels.SelectionKey;import java.nio.channels.Selector;import ...2017-04-24 21:34:02 · 120 阅读 · 0 评论 -
【JNI技术介绍】
一、JNI 简介JNI是Java Native Interface的缩写,它提供了若干的API实现了Java和其他语言的通信(主要是C&C++)。从Java1.1开始,JNI标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI一开始是为了本地已编译语言,尤其是C和C++而设计的,但是它并不妨碍你使用其他编程语言,只要调用约定受支持就可以了。使用java与...2016-07-26 19:27:49 · 172 阅读 · 0 评论 -
【Java消息服务(Java Message Service)--JMS介绍】
一、JMS简单介绍JMS即Java消息服务(Java Message Service)应用程序接口是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。 Java消息服务(Java Message Service,JMS)应用程序接口是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分...2016-07-27 19:42:16 · 180 阅读 · 0 评论 -
【JAVA IO 流介绍】
一、JAVAIO关系图 二、IO流的分类根据处理数据类型的不同分为:字符流和字节流根据数据流向不同分为:输入流和输出流 三、字符流和字节流字符流的由来: 因为数据编码的不同,而有了对字符进行高效操作的流对象。本质其实就是基于字节流读取时,去查了指定的码表。字节流和字符流的区别:(1)读写单位不同:字节流以字节(8bit)为单位,字符流以字符为单位,根据码表映射字...2016-08-02 10:35:35 · 75 阅读 · 0 评论 -
【JAVA 集合框架介绍】
一、基础版本简介其实在Java2之前,Java是没有完整的集合框架的。它只有一些简单的可以自扩展的容器类,比如Vector,Stack,Hashtable等。Vector中包含的元素可以通过一个整型的索引值取得,它的大小可以在添加或移除元素时自动增加或缩小。然而,Vector的设计却存在极多缺陷(下面会说到)。Stack是一种后进先出(LIFO)的堆栈序列,学过数据结构的都会知道,它的重要...2016-08-03 21:58:05 · 87 阅读 · 0 评论 -
【iText 生成PDF基础知识介绍】
1、iText简介iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库。通过iText不仅可以生成PDF或rtf的文档,而且可以将XML、Html文件转化为PDF文件。 iText的安装非常方便,下载iText.jar文件后,只需要在系统的CLASSPATH中加入iText.jar的路径,在程序中就可以使用iText类库了。Standar...2016-09-11 22:45:47 · 130 阅读 · 0 评论 -
【java中的IO知识小结】
NIO以通道channel和缓冲区Buffer为基础来实现面向块的IO数据处理,Channel,Buffer 和 Selector 构成了NIO核心的API。 流分类输入流/输出流 -->InputStream / Reader OutputStream / Writer字节流/字符流字节流主要是操作byte类型数据,以byte数组为准,主要操作类就是Out...2016-10-27 20:33:59 · 85 阅读 · 0 评论 -
【JAVA之Buffer介绍】
一、Buffer介绍缓冲区(Buffer)就是在内存中预留指定大小的存储空间用来对输入/输出(I/O)的数据作临时存储,这部分预留的内存空间就叫做缓冲区: 二、Buffer好处使用缓冲区有这么两个好处:1、减少实际的物理读写次数2、缓冲区在创建时就被分配内存,这块内存区域一直被重用,可以减少动态分配和回收内存的次数 三、ByteBuffer字节缓冲区。此类定义...2017-04-23 17:09:38 · 386 阅读 · 0 评论 -
【JAVA之NIO编程Server端】
package demo.test; import java.io.IOException;import java.net.InetSocketAddress;import java.net.ServerSocket;import java.nio.ByteBuffer;import java.nio.channels.SelectionKey;import jav...2017-04-24 21:24:12 · 129 阅读 · 0 评论 -
【Java 类加载Classloader】
开发人员对java.lang.ClassNotFoundExcetpion这个异常肯定都不陌生,这背后就涉及到了java技术体系中的类加载。Java的类加载机制是技术体系中比较核心的部分,虽然和大部分开发人员直接打交道不多,但是对其背后的机理有一定理解有助于排查程序中出现的类加载失败等技术问题,对理解java虚拟机的连接模型和java语言的动态性都有很大帮助。 The Java Clas...2017-03-19 20:57:21 · 110 阅读 · 0 评论