- 浏览: 160983 次
- 性别:
- 来自: 北京
最新评论
-
supremehover:
第8,“内部类名.this.属性名”,应该改为“外部类名.th ...
四种java内部类总结 -
wr665109:
挺不错,讲解很详细
使用XStream是实现XML与Java对象的转换(5)--Object Stream -
forestqqqq:
kongxuan 写道在项目中用过xstream,后来随着接口 ...
使用XStream是实现XML与Java对象的转换(3)--注解 -
kongxuan:
在项目中用过xstream,后来随着接口访问量变大,xstre ...
使用XStream是实现XML与Java对象的转换(3)--注解 -
kongxuan:
这玩意效率不高,对于高并发应用不合适。
使用XStream是实现XML与Java对象的转换(5)--Object Stream
文章列表
java.lang.ThreadLocal类的实例,为每一个使用该实例的线程提供一个变量的副本,在线程的内部共享这个副本,其他线程无法获取该线程的变量,这就好像该线程独立拥有该变量一样。
一、结构介绍
ThreadLocal类定义中有一个静态内部类(详见http://forestqqqq.iteye.com/blog/1906653),即ThreadLocalMap类。每一个线程(Thread)内部都有一个ThreadLocal.ThreadLocalMap对象,
public class Thread implements Runnable {
//……
ThreadLoca ...
JNA全称Java Native Access,是一个建立在经典的JNI技术之上的Java开源框架(https://github.com/twall/jna)。JNA提供一组Java工具类用于在运行期动态访问系统本地库(native library:如Window的dll)而不需要编写任何Native/JNI代码。开发人员只要在一个java接口中描述目标native library的函数与结构,JNA将自动实现Java接口到native function的映射。
JNA包:
https://maven.java.net/content/repositories/releases/net/ ...
转载自:http://www.cnblogs.com/zhenjing/p/java_code.html
1. 只有字符到字节或者字节到字符的转换才存在编码转码;
2. Java String 采用 UTF-16 编码方式存储所有字符。unicode体系采用唯一的码点表示唯一的字符信息,码点的存储方式有UFT-16、UTF-8 等等。: A String represents a string in the UTF-16 format in which supplementary characters are represented bysurrogate pairs (see t ...
下面使用以下代码讲解成员内部类的继承
package test7;
//第一步,引入内部类定义。无论该类是否如子类在同一个包下还是同一个文件下。
import test7.Person.Address;
public class ExtendsInnerClassTest {
public static void main(String[] args) {
Person p1 = new Person("forestqqqq",20);
new AddressDetail(p1,"TianJin" ...
第一 成员内部类
定义在另一个类的内部,而且与成员方法和属性平级叫成员内部类。
1成员内部类中不能存在static关键字,即,不能声明静态属性、静态方法、静态代码块等。
2在成员内部类中访问外部类的成员方法和属性,要使用“外部类名.this.成员方法”和“外部类名.this.成员属性”的形式
3创建成员内部类的实例使用“外部类名.内部类名 实例名 = 外部类实例名.new 内部类构造方法(参数)”的形式。在创建内部类实例之前需要先创建外部类的实例对象。
package test5;
public class MyTest {
public static v ...
很全面的工具类PropertiesTool,主要功能如下:
1,可以文件路径、字节流、字符流和编码等加载内容,
如loadFile(String filename,String encoding),loadStream(InputStream stream,String encoding)和loadReader(Reader reader)
2,在获取value时,可以主动将数据进行判断和类型转换,
如getStrings(String key,String regex),getCharacter(String key),getBoolean(String key)getIntege ...
第一 普通的代码块
就是我们说说的代码块,它无论定义在构造方法的哪个地方(或前或后),总是在构造方法之前运行,每定义一个实例对象,就会运行一次。如果父类中也有代码块则运行顺序如下:
1 父类普通代码块
2 父类构造方法
3 子类普通代码块
4 子类构造方法
例如:
public class CodeBlockTest {
public static void main(String[] args) throws Exception{
new Child();
System.out.println("刚刚创建了一个实例");
...
1修饰类、方法和属性的访问控制修饰符有四种:public、protected、default(默认没有修饰符修饰时的状态),private
2四种修饰符的简单说明
public:可以再任意位置访问
protected:该类的包外子类中可以访问,同一包下的类可以访问
default:同一包下的类可以访问
private:类自身中可以访问
3四种修饰符的访问权限范围的大小:public > protected > default > private
4四种修饰符的访问权限范围示意:
包外的类(非子类)
包外的类(子类)
同一包下的类
...
第一 所有的类都有构造方法
1如果程序员没有给类显式的定义构造方法,则系统默认为该类定义一个默认的无参构造方法。
2如果程序员定义的类中有若干有参构造方法,则系统不再为该类定义无参构造方法。
第二 子类不能继承父类的构造方法
第三 子类在创建时,必须默认、直接或间接的调用父类的构造方法,以使父类内容先于子类创建和初始化
1如果父类未定义任何构造方法(系统会定义一个默认的无参构造方法)或者定义的构造方法中有一个是无参构造方法,则对子类构造方法没有影响。因为创建子类时会默认调用父类的无参构造方法。
例如:
public class ExtendsTest {
p ...
第一 继承Thread类
步骤:
1继承Thread类;
2重写run方法
3调用start启动线程
public class ThreadTest {
public static void main(String[] args) {
ExtendsThreadTest test = new ExtendsThreadTest();
//第三步,启动线程
test.start();
}
}
//第一步,继承Thread类
class ExtendsThreadTest extends Thread{
...
下面用Test类为例讲解static的使用方法:
class Test{
public static int a =1;
public final static int b;
static {
b = 200;
System.out.println("这是静态代码块");
}
public static void print(){
//这是错误的,静态方法中不能有this和super ...
第一 final修饰类
Final修饰的类没有子类,因为它不能被继承,例如java.lang.String类。Final类的所有方法都是final方法。
注意:final不能跟abstract关键字连用,因为重现的类或者方法必须被继承和覆盖才有意义。
第二 final修饰方法
Final方法可以被子类继承,但是不能被子类重写。有人说,父类的private方法是final方法,不过我不这么认为。因为,父类的private方法可以被子类继承,也能被子类覆盖。
第三 final修饰属性
Final属性属于常量,只能被初始化一次,之后不能改变。初始化的方式有两种:
1在声明时初始化
...
本人使用Oracle时,遇到以下情况:需要输出多列数据,但是这些数据却分布在多行的同一列中。所以本人就想出了以下这种方式进行合并查询。
示例是一个GRADES表,记录每个学生的姓名、课程和分数,分数都放在GRADE列中,现在要将各个科目的分数放到一行中显示怎么办?
1,创建表GRADES,并插入数据
CREATE TABLE GRADES
(
ID NUMBER PRIMARY KEY,
NAME VARCHAR2(10) NOT NULL,
COURSE VARCHAR2(10) NOT NULL,
GRADE NUMBER NOT NUL ...
一,饿汉式单例
//饿汉式单例1
public class Singleton1 {
private static final Singleton1 instance = new Singleton1();
private Singleton1(){}
public static Singleton1 getInstance(){
return instance;
}
}
//饿汉式单例2
class Singleton{
private static class Single{
static final Singleton instance = ...
注:默认认为反射代码与Worker类不在同一个包下,下面的“使用条件”才是正确的。
下面以Worker类来讲解Java反射的三种用途(创建实例,调用方法,访问属性):
Worker类如下:
class Worker{
/*两个public构造方法*/
public Worker(){
count++;
}
public Worker(String name){
super();
this.name = name;
}
/*两个private构造方法*/
private Worker(String name,int age){ ...