Java
qq_26182553
这个作者很懒,什么都没留下…
展开
-
Java 动态代理2
当被代理类没有实现接口时,可以用CGLib实现动态代理import java.lang.reflect.Method;import net.sf.cglib.proxy.Enhancer;import net.sf.cglib.proxy.MethodInterceptor;import net.sf.cglib.proxy.MethodProxy;public cl原创 2017-07-13 11:14:09 · 141 阅读 · 0 评论 -
Java反射一 动态修改类的属性
Person.javapackage fanshe;public class Person { private int age; private String name; private String info(){ return "My name is "+ name +", I'm "+age+" years old."; } private原创 2017-07-13 11:07:14 · 3358 阅读 · 0 评论 -
Java反射三 动态创建数组
package fanshe;import java.lang.reflect.Array;import java.lang.reflect.Field;import java.lang.reflect.Method;public class Mymain { public static void main(String[] args) throws Except原创 2017-07-13 11:07:21 · 415 阅读 · 0 评论 -
nio 读写文件
package FSOperation;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.nio.Byt原创 2017-07-13 11:07:29 · 165 阅读 · 0 评论 -
nio 编码解码
package CharSet1;import java.nio.ByteBuffer;import java.nio.CharBuffer;import java.nio.charset.Charset;import java.nio.charset.CharsetDecoder;import java.nio.charset.CharsetEncoder;pub原创 2017-07-13 11:07:37 · 250 阅读 · 0 评论 -
java反射 ClassLoader 和 Class.forName() 的区别
package fanshe;public class Person { private int age; private String name; static { System.out.println("initial static block..."); } }package fanshe;import java.lang.refl原创 2017-07-13 11:07:44 · 410 阅读 · 0 评论 -
Junit 基本使用
1. 安装Junit,导入下面的依赖包 junit junit ${junit.version} test org.hamcrest hamcrest-library 1.3 test2.简单的测试类package com.peter.user;import org.junit.After;import org原创 2017-07-13 11:09:22 · 250 阅读 · 0 评论 -
Java反射二 动态调用类的方法
Person.javapackage fanshe;public class Person { private int age; private String name; private String info(){ return "My name is "+ name +", I'm "+age+" years old."; } private原创 2017-07-13 11:07:07 · 256 阅读 · 0 评论 -
JVM调优
参考: http://www.cnblogs.com/andy-zhou/p/5327288.html转载 2017-09-01 16:03:20 · 230 阅读 · 0 评论 -
java方法传值的问题
转自: http://www.cnblogs.com/yujun19880729/p/3515490.html基本类型包括:byte,short,int,long,char,float,double,Boolean,returnAddress 引用类型包括:类类型,接口类型和数组。public class TestValTran { public static void main(Strin转载 2017-09-01 15:33:35 · 173 阅读 · 0 评论 -
两种动态代理的实现方法
import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;public class JDKProxyFactory implements InvocationHandler{ private Object object;原创 2018-01-24 19:30:44 · 318 阅读 · 0 评论 -
带有增强类过滤功能的cglib代理
import java.lang.reflect.Method;import net.sf.cglib.proxy.CallbackFilter;/** * 返回值表示使用第几个advice(Callback[]的索引) */public class MyCglibCallbackFilter implements CallbackFilter{ @Override publi原创 2018-01-26 14:13:50 · 308 阅读 · 0 评论 -
java中Class.forName方法的作用详解
前言在做JAVA EE开发的过程中,更多的是使用框架来提高开发效率.越来越发现,之前很基础的一些东西,都忘记的差不多了.从今天开始慢慢的复习一下基础.今天在看JDBC的时候,就有一个有趣的地方,之前学的时候,也没在意.这个Class.forName究竟是什么鬼.转载 2018-03-15 10:34:11 · 345 阅读 · 0 评论 -
静态内部类和普通内部类的区别
静态内部类和普通内部类的区别原创 2018-03-15 10:38:23 · 2409 阅读 · 0 评论 -
java中Class.forName方法的作用详解
前言在做JAVA EE开发的过程中,更多的是使用框架来提高开发效率.越来越发现,之前很基础的一些东西,都忘记的差不多了.从今天开始慢慢的复习一下基础.今天在看JDBC的时候,就有一个有趣的地方,之前学的时候,也没在意.这个Class.forName究竟是什么鬼.转载 2018-03-04 09:43:03 · 407 阅读 · 0 评论 -
读取XML配置文件的工具类
1. 添加maven dom4j dom4j 1.6.1 jaxen jaxen 1.1.6 2 XMLConfig.javapackage com.utils;import java.net.URL;import java.util.List;import org.dom4j.Document;import org.d原创 2017-07-13 11:13:54 · 397 阅读 · 0 评论 -
给Bean的属性赋值的好方法
给Bean的属性赋值的好方法static void injectObject(Object bean, String name, Object value){ PropertyDescriptor[] ps = Introspector.getBeanInfo(bean.getClass()).getPropertyDescriptors(); //获取bean的所有属性信息原创 2017-07-13 11:13:47 · 796 阅读 · 0 评论 -
设计模式-单例模式
双重判断public class TestSingleton { private TestSingleton(){} private static TestSingleton instance;; public static TestSingleton getSingleton(){ if(instance==null){ synchronized(TestSing原创 2017-07-18 17:17:39 · 181 阅读 · 0 评论 -
java多线程 用java内存结构解释多线程问题
在 java垃圾回收整理一文中,描述了jvm运行时刻内存的分配。其中有一个内存区域是jvm虚拟机栈,每一个线程运行时都有一个线程栈,线程栈保存了线程运行时候变量值信息。当线程访问某一个对象时候值的时候,首先通过对象的引用找到对应在堆内存的变量的值,然后把堆内存变量的具体值load到线程本地内存中,建立一个变量副本,之后线程就不再和对象在堆内存变量值有任何关系,而是直接修改副本变量的值,在修改完之后原创 2017-07-13 11:37:06 · 583 阅读 · 0 评论 -
java多线程 用匿名内部类创建多线程
实现Runnable接口new Thread(new Runnable(){ public void run(){ System.out.println("thread is running"); }}).start(); 或继承Thread类new Thread(){ public void run(){ System.out.println("thr原创 2017-07-13 11:37:13 · 390 阅读 · 0 评论 -
Java中的byte char String 编码 解码
char人能识别的字符,在Java中用Unicode表示,占两个字节,可以表示中文。在jvm中,它的值是唯一的,可以用数字表示:char a1 ='周';char a ='\u5468'; //Unicodechar aa =0x5468; //十六进制char aaa = 21608; //十进制System.out.println(a1);System.out.pr原创 2017-07-13 11:37:20 · 821 阅读 · 0 评论 -
Java多线程-线程状态及方法的使用
thread.sleep(int) 让线程进入休眠状态。如果在synchronized代码块或方法中执行sleep(int),线程并不会放弃对象的锁。 object.wait() :让当前获得object对象锁的线程进入该对象的线程等待队列。也就是让线程解开这个对象的锁, 同时进入休眠状态。wait状态的线程可被object.notify()唤醒。 object.notify(原创 2017-07-13 11:36:59 · 208 阅读 · 0 评论 -
JVM 结构及垃圾回收
Runtime Data Area 运行时数据区1. method area 线程共享存放已被虚拟机加载的类信息、常量、静态变量、即时编译后的代码等信息。多个线程同时加载一个类时,只有一个会请求Class Loader加载,另一个会等待。 MetaSpace 元数据空间从JDK1.8 开始method area被metaspace完全取代。metaspace使用本地内存存原创 2017-07-13 11:30:09 · 155 阅读 · 0 评论 -
Java NIO
CapacityA buffer's capacity is the number of elements it contains. The capacity of a buffer is never negative and never changes. LimitA buffer's limit is the index of the first element that s原创 2017-07-13 11:30:47 · 156 阅读 · 0 评论 -
Java IO 和 NIO 分别实现简单的Socket
java IO 实现的socketpublic class MyServerSocket { public static void main(String[] args) throws Exception{ ServerSocket ss = new ServerSocket(8888); Socket s = ss.accept(); System.out.prin原创 2017-07-13 11:30:54 · 277 阅读 · 0 评论 -
几种序列化的实现方法 java自带, Writable, Avro
package org.hdp.practice.serial;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import j原创 2017-07-13 11:32:00 · 239 阅读 · 0 评论 -
PermGen space错误解决方法
报错:Exception in thread "DispatcherThread" java.lang.OutOfMemoryError: PermGen space Exception in thread "ContainerBackgroundProcessor[StandardEngine[Catalina]]" java.lang.OutOfMemoryError: PermGe原创 2017-07-13 11:26:26 · 292 阅读 · 0 评论 -
使JAVA堆栈溢出的方法
1. 使栈溢出 public class Test{ public static void main(String[] args){ System.out.println("OK"); out(1); } private static void out(int i){ System.out.println(i); out(++i); }}原创 2017-07-13 11:26:56 · 1698 阅读 · 0 评论 -
Eclipse.ini的相关说明
本文搜集整理自网上Eclipse的启动由$ECLIPSE_HOME/eclipse.ini控制,如果$ECLIPSE_HOME 没有被定义,则Eclipse安装目录下的默认eclipse.ini会生效。eclipse.ini是一个文本文件,其内容相当于在Eclipse运行时添加到 Eclipse.exe之后的命令行参数。其格式要求:1:所有的选项及其相关的参数必须在单独的一行之内原创 2017-07-13 11:19:49 · 360 阅读 · 0 评论 -
Java线程同步
to be start原创 2017-07-13 11:21:09 · 274 阅读 · 0 评论 -
Java获得Class对象的方法
1. Object.getClass()2. Class.getSuperClass()3. Class.forName()4. Object.classint.class5. Object.Type Integer.Type原创 2017-07-13 11:13:03 · 147 阅读 · 0 评论 -
java 中获取各种路径
1.jsp中取得路径:以工程名为TEST为例:(1)得到包含工程名的当前页面全路径:request.getRequestURI() 结果:/TEST/test.jsp (2)得到工程名:request.getContextPath() 结果:/TEST (3)得到当前页面所在目录下全名称:request.getServletPath() 结果:如果页面在j原创 2017-07-13 11:13:40 · 938 阅读 · 0 评论 -
创建自定义ClassLoader,绕过双亲委派
MyClassLoader.java 中定义了两个加载class的方法,其中findClass(String name)实现双亲委派逻辑,createClass(String name)绕过双亲委派逻辑原创 2018-03-21 16:03:24 · 2332 阅读 · 2 评论