gaojingsong
- 浏览: 1124910 次
- 性别:
- 来自: 深圳
社区版块
- ( 4)
- ( 0)
- ( 80)
最新评论
-
gaojingsong:
jstl1point0 写道高级版本jdk可以直接安装不用配置 ...
【win7配置jdk 环境变量】 -
jstl1point0:
高级版本jdk可以直接安装不用配置了
【win7配置jdk 环境变量】 -
hdd901002:
光说明错误在哪里有什么用,解决方法啊。。。我也碰到了,一条jo ...
mycat源码解读--错误之【can't find table define in schema 】 -
masuweng:
【java之图片水印】 -
masuweng:
【java之多线程下载文件实现】
文章列表
- 博客分类:
- java语言基础
//第一种方式获取class对象
student stu1 = new student();//这一new 产生一个student对象,一个class对象。
class stuclass = stu1.getclass();//获取class对象
system.out.println(stuclass.getname());
//第二种方式获取class对象
class stuclass2 = student.class;
system.out.println(stuclass == stuclass2);//判断第一种方式获取的class对象和第二种方式获取的是否是同一 ...
- 2018-10-21 22:06
- 浏览 1466
- 分类:开源软件
jar包是java中所特有一种压缩文档,其实大家就可以把它理解为.zip包。当然也是有区别的,jar包中有一个meta-inf\manifest.mf文件,当你找成jar包时,它会自动生成。
jar包是由jdk安装目录\bin\jar.exe命令生成的,当我们安装好jdk,设置好path路径,就可以正常使用jar.exe命令,它会用lib\tool.jar工具包中的类。这些细节就不用管它了。
让我们看看它怎么么使用吧: 一.jar命令参数: jar命令格式:jar {c t x u f }[ v m e 0 m i ][-c 目录]文件名... 其中{ctxu}这四个参数必须选选其一。[v ...
- 2017-12-31 19:59
- 浏览 564
- 分类:开源软件
- 博客分类:
- java语言基础
inputstream提供的是字节流的读取,而非文本读取,用reader读取出来的是char数组或者string ,使用inputstream读取出来的是byte数组。
reader类及其子类提供的字符流的读取char,inputstream及其子类提供字节流的读取byte,所以 filereader类是将文件按字符流的方式读取,fileinputstream则按字节流的方式读取文件;inputstreamreader可以将读如stream转换成字符流方式,是reader和stream之间的桥梁
package cn.guolf.activiti;
import java ...
- 2017-12-19 23:20
- 浏览 741
- 分类:编程语言
- 博客分类:
- java语言基础
什么是java垃圾回收器
java垃圾回收器是java虚拟机(jvm)的三个重要模块(另外两个是解释器和多线程机制)之一,为应用程序提供内存的自动分配(memory allocation)、自动回收(garbage collect)功能,这两个操作都发生在java堆上(一段内� ...
- 2017-10-15 13:10
- 浏览 1874
- 分类:编程语言
宏观上介绍一下java虚拟机的工作原理。从最初的我们编写的java源文件(.java文件)是如何一步步执行的,如下图所示,首先java源文件经过前端编译器(javac或ecj)将.java文件编译为java字节码文件,然后jre加载java字节码文件,载� ...
- 2017-09-07 20:48
- 浏览 988
- 分类:编程语言
永久链接: http://gaojingsong.iteye.com/blog/2386483
预览文章: 【javase基础面试题】
1、网络编程(socket/datagramsocket/serversocketchannel )
socket通信的步骤
① 创建serversocket和socket
② 打开连接到socket的输入/输出流
③ 按照协议对so ...
- 2017-08-11 21:08
- 浏览 942
- 分类:编程语言
- 博客分类:
- java语言基础
说起java中的时间,大家或许都很熟悉,朗朗上口的date、calendar、simpledateformat等。但是大家对他们的认识真的很深刻吗?今天我要想大家说的是timezone,即时区。
经常有人发现时间不对,比如相差8个小时等等,其真实原因便是timezone.只有正确合理的运用timezone,才能保证系统时间无论何时都是准确的。
一、影响timezone的因素:
1、操作系统的时区设置,tz环境变量设置。
2、数据传输时时区设置。
3、代码中调用timezone.setdefault()
4、jvm参数user.timezone,例如- ...
- 2017-06-21 19:20
- 浏览 1388
- 分类:开源软件
- 博客分类:
- java语言基础
一、为什么要克隆?直接new一个对象不行吗?
克隆的对象可能包含一些已经修改过的属性,而new出来的对象的属性都还是初始化时候的值,所以当需要一个新的对象来保存当前对象的“状态”就靠clone方法了。那么我把这个对象的临时属性一个一个的赋值给我新new的对象不也行嘛?可以是可以,但是一来麻烦不说,二来,大家通过上面的源码都发现了clone是一个native方法,就是快啊,在底层实现的。
二、克隆类型
在java语言中,数据类型分为值类型(基本数据类型)和引用类型,值类型包括byte、short、int、long、float,double、boolean、char简单数据类型,引用类型 ...
- 2017-05-31 20:03
- 浏览 742
- 分类:编程语言
- 博客分类:
- java语言基础
1、为什么要使用volatile
volatile变量修饰符如果使用恰当的话,它比synchronized的使用和执行成本会更低,因为它不会引起线程上下文的切换和调度。
当我们声明共享变量为volatile后,对这个变量的读/写将会很特别。理解volatile特性的一个好方法是:把对volatile变量的单个读/写,看成是使用同一个监视器锁对这些单个读/写操作做了同步。
在《java并发编程:核心理论》一文中,我们已经提到过可见性、有序性及原子性问题,通常情况下我们可以通过synchronized关键字来解决这些个问题,不过如果对synchronized原理有了解的话,应该知道s ...
- 2017-05-13 11:48
- 浏览 679
- 分类:编程语言
- 博客分类:
- java语言基础
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 java.nio.channels.socketchannel;
import java.util.iterator;
import java.util.set;
public ...
- 2017-04-24 21:34
- 浏览 777
- 分类:编程语言
- 博客分类:
- java语言基础
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 java.nio.channels.selector;
import java.nio.channels.serversocketchannel;
import java.nio.channels.so ...
- 2017-04-24 21:24
- 浏览 691
- 分类:编程语言
- 博客分类:
- java语言基础
一、buffer介绍
缓冲区(buffer)就是在内存中预留指定大小的存储空间用来对输入/输出(i/o)的数据作临时存储,这部分预留的内存空间就叫做缓冲区:
二、buffer好处
使用缓冲区有这么两个好处:
1、减少实际的物理读写次数
2、缓冲区在创建时就被分配内存,这块内存区域一直被重用,可以减少动态分配和回收内存的次数
三、bytebuffer字节缓冲区。
此类定义了除 boolean 之外,读写所有其他基本类型值的方法。这些基本值可以根据缓冲区的当前字节顺序与字节序列互相进行转换,并可以通过 order 方法获取和修改。特定的字节顺序由 byteorder 类的 ...
- 2017-04-23 17:09
- 浏览 984
- 分类:编程语言
- 博客分类:
- java语言基础
共享内存对应应用开发的意义
对熟知unix系统应用开发的程序员来说,ipc(interprocess communication)机制是非常熟悉的,ipc基本包括共享内存、信号灯操作、消息队列、信号处理等部分,是开发应用中非常重要的必不可少的工具。其中共享内存ipc机制的关键,对于数据共享、系统快速查询、动态配置、减少资源耗费等均有独到的优点。
对应unix系统来说,共享内存分为一般共享内存和映像文件共享内存两种,而对应windows,实际上只有映像文件共享内存一种。所以java应用中,也是只能创建映像文件共享内存。
在java语言中,基本上没有提及共享内存这个概念,但是,在 ...
- 2017-04-10 20:18
- 浏览 1125
- 分类:编程语言
- 博客分类:
- java语言基础
开发人员对java.lang.classnotfoundexcetpion这个异常肯定都不陌生,这背后就涉及到了java技术体系中的类加载。java的类加载机制是技术体系中比较核心的部分,虽然和大部分开发人员直接打交道不多,但是对其背后的机理有一定理解有助于排查程序中出现的类加载失败等技术问题,对理解java虚拟机的连接模型和java语言的动态性都有很大帮助。
the java classloader is a part of the java runtime environment that dynamically loads java classes into the java v ...
- 2017-03-19 20:57
- 浏览 673
- 分类:编程语言
- 博客分类:
- java语言基础
arraylist是基于数组实现的,是一个动态数组,其容量能自动增
public class arraylist
extends abstractlist
implements list, randomaccess, cloneable, java.io.serializable
arraylist不是线程安全的,只能用在单线程环境下,多线程环境下可以考虑用collections.synchronizedlist(list l)函数返回一个线程安全的arraylist类,也可以使用concur ...
- 2017-03-05 18:20
- 浏览 812
- 分类:编程语言
- 博客分类:
- java语言基础
潜意识里面:私有方法不可以被调用,当然了包括私有构造方法,因为java语言基础里面反复这么说的,可是当单例模式遇到反射,单例引以为傲的构造方法私有化,防止重复new对象,被败得一塌糊涂,因为利用反射可以得到类里面的一切想得到的,就算你用private声明封装隐藏,也不可用.....
一、代码如下:
package cn.com.test;
import java.lang.reflect.constructor;
public class singleton {
private static singleton instance;
private s ...
- 2017-02-10 22:09
- 浏览 734
- 分类:编程语言
- 博客分类:
- java语言基础
nio以通道channel和缓冲区buffer为基础来实现面向块的io数据处理,
channel,buffer 和 selector 构成了nio核心的api。
流分类
输入流/输出流 -->inputstream / reader outputstream / writer
字节流/字符流
字节流主要是操作byte类型数据,以byte数组为准,主要操作类就是outputstream、inputstream
在字节流中输出数据主要是使用outputstream完成,输入使的是inputstream,
在字符流中输出主要是使用writer类完成,输入流主要使用r ...
- 2016-10-27 20:33
- 浏览 926
- 分类:编程语言
- 博客分类:
- java语言基础
1、itext简介
itext是著名的开放源码的站点sourceforge一个项目,是用于生成pdf文档的一个java类库。通过itext不仅可以生成pdf或rtf的文档,而且可以将xml、html文件转化为pdf文件。 itext的安装非常方便,下载itext.jar文件后,只需要在系统的classpath中加入itext.jar的路径,在程序中就可以使用itext类库了。
standards for administration, archiving, invoicing and compliance increasingly rely on pdf. itext is the rig ...
- 2016-09-11 22:45
- 浏览 740
- 分类:编程语言
- 博客分类:
- java语言基础
一、基础版本简介
其实在java2之前,java是没有完整的集合框架的。它只有一些简单的可以自扩展的容器类,比如vector,stack,hashtable等。vector中包含的元素可以通过一个整型的索引值取得,它的大小可以在添加或移除元素时自动增加或缩小。然而,vector的设计却存在极多缺陷(下面会说到)。stack是一种后进先出(lifo)的堆栈序列,学过数据结构的都会知道,它的重要特点是先放入的东西最后才能被取出。hashtable与java2中的map类似,可以看成一种关联或映射数组,可以将两个或多个毫无关系的对象相关联,与数组不同的是它的大小可以动态变化。
vector
...
- 2016-08-03 21:58
- 浏览 564
- 分类:编程语言
- 博客分类:
- java语言基础
一、javaio关系图
二、io流的分类
根据处理数据类型的不同分为:字符流和字节流
根据数据流向不同分为:输入流和输出流
三、字符流和字节流
字符流的由来: 因为数据编码的不同,而有了对字符进行高效操作的流� ...
- 2016-08-02 10:35
- 浏览 851
- 分类:编程语言
- 博客分类:
- java语言基础
一、jms简单介绍
jms即java消息服务(java message service)应用程序接口是一个java平台中关于面向消息中间件(mom)的api,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。
java消息服务(java message service,jms)应� ...
- 2016-07-27 19:42
- 浏览 992
- 分类:编程语言
- 博客分类:
- java语言基础
一、jni 简介
jni是java native interface的缩写,它提供了若干的api实现了java和其他语言的通信(主要是c&c )。从java1.1开始,jni标准成为java平台的一部分,它允许java代码和其他语言写的代码进行交互。jni一开始是为了本地已编译语言,尤其是c和c 而设计的,但是它并不妨碍你使用其他编程语言,只要调用约定受支持就可以了。使用java与本地已编译的代码交互,通常会丧失平台可移植性。但是,有些情况下这样做是可以接受的,甚至是必须的。例如,使用一些旧的库,与硬件、操作系统进行交互,或者为了提高程序的性能。jni标准至少要保证本地代码能工作 ...
- 2016-07-26 19:27
- 浏览 603
- 分类:编程语言
- 博客分类:
- java语言基础
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 {
/**
* @param args
* @throws exception
* @author gaojs(qq:525354786)
*/
public static v ...
- 2016-07-03 21:14
- 浏览 916
- 分类:编程语言