
java学习笔记
黎明
no risk no fun
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
第一个Java程序 “HelloWorld”
public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World"); }}原创 2019-02-28 11:10:35 · 140 阅读 · 0 评论 -
关于反射的使用
Class xlass = Class.forName(classPath); System.out.println(xlass.getName()); for(Field method : xlass.getDeclaredFields()){ System.out.println(method.getName()...原创 2019-04-20 17:06:11 · 135 阅读 · 0 评论 -
反射中获取泛型参数信息
Method m = null; try { m = ReflectionClass.class.getMethod("test", Map.class, List.class); Type[] mType = m.getGenericParameterTypes(); for(Type t ...原创 2019-04-20 17:47:44 · 487 阅读 · 0 评论 -
Java动态编译使用
package com.liming.dynamiccompile;import javax.tools.JavaCompiler;import javax.tools.ToolProvider;import java.lang.reflect.Constructor;import java.lang.reflect.InvocationTargetException;import j...原创 2019-04-21 09:54:11 · 413 阅读 · 0 评论 -
JavaScrpit的调用
package com.liming.script;import javax.script.*;import java.io.*;import java.net.URI;import java.net.URL;import java.net.URLClassLoader;import java.util.Arrays;import java.util.List;public c...原创 2019-04-21 21:19:44 · 498 阅读 · 0 评论 -
Java知识脉络
第一阶段Java基础1.认知基础课程2. java入门阶段3. 面向对象编程4. 飞机小项目5. 面向对象和数组6. 常用类7. 异常机制8. 容器和数据结构9. IO流技术10. 多线程11. 网络编程12. 手写服务器13. 注解和反射14. GOF23种设计模式15. 正则表达式16. JDBC数据库操作17. 手写SORM框架18. JAVA10新特性19.数据结构和算法20. JV...转载 2019-04-17 11:33:47 · 440 阅读 · 0 评论 -
getResourceAsStream路径问题
getResourceAsStream("此处路径默认为编译后的根目录,并非源码目录,IDEA可以放在res资源目录中编译后自动放在项目的根目录,这样就可以直接使用文件名访问了");...原创 2019-04-17 16:06:12 · 4454 阅读 · 0 评论 -
Javassist库的使用(字节码操作类)
package com.liming.javassist;import javassist.*;import java.io.IOException;public class JavassistTest { public static void main(String[] args) { System.out.println("Hello Javassist")...原创 2019-04-22 14:56:01 · 423 阅读 · 0 评论 -
设计模式含义与理解
创建型模式:单例模式:若所需资源只需要封装在一个对象里面,则可以使用此模式工厂模式:将所需对象的创建委托给专门的创建工厂抽象工厂模式:增加抽象产品类族的创建工厂原型模式:用于克隆对象时使用,序列化或是实现Cloneable接口建造者模式:对所需子组件对象进行产生和组装结构型模式:代理模式:将一个对象需要委托的功能交给代理对象处理,或是功能需要改造装饰模式:对已存在的对象进行功能的包...原创 2019-04-26 14:21:28 · 597 阅读 · 0 评论 -
设计模式的六大原则
总原则:开闭原则(Open Close Principle)开闭原则就是说对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,而是要扩展原有代码,实现一个热插拔的效果。所以一句话概括就是:为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类等,后面的具体设计中我们会提到这点。1、单一职责原则不要存在多于一个导致类变更的原因,也就是...转载 2019-04-26 14:29:25 · 114 阅读 · 0 评论 -
ClassLoader类加载器的用法
package com.liming.classloader;import java.io.*;import java.lang.reflect.Constructor;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;public class FileSystemCl...原创 2019-04-23 17:06:44 · 290 阅读 · 0 评论 -
关于正则表达式匹配与使用
正则表达式\d 代表数字 \D意义取反\w 代表字母数字下划线 \W意义取反\s 代表所有空白符 \t \n 空格 \S意义取反\b 匹配一个单词 匹配的单词的左边或右边至少有一边不是\w字符 \B意义取反\1,2,3,4,5…… 代表提取捕获组的位置\t 制表符\n 换行符所有转义字符:$ ^ * ( ) + { } [ ] | \ ? .. 代表任意...原创 2019-04-28 21:37:18 · 822 阅读 · 0 评论 -
GOF23种设计模式之单例模式
饿汉式package com.liming.singleton;import java.io.*;import java.lang.reflect.Constructor;import java.lang.reflect.InvocationTargetException;import java.util.concurrent.CountDownLatch;public class...原创 2019-04-24 16:01:29 · 187 阅读 · 0 评论 -
关于Java对象拷贝深拷贝与浅拷贝的实现
package com.liming.prototype;public class Sheep implements Cloneable{ String name; int age; Ex ex; Sheep(String name,int age){ this.name = name; this.age = age; ...原创 2019-04-24 21:43:59 · 612 阅读 · 0 评论 -
JDBC关于mysql的使用
package com.liming.mysql;import java.io.IOException;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;import java.sql.*;public class MysqlTest { p...原创 2019-04-30 19:56:50 · 158 阅读 · 0 评论 -
MySQl基本知识点
1.数据库常用ddl语句/*创建数据库*/create database dbname(数据库名称);/*查看有哪些数据库*/show databases;/*选择要使用的数据库*/use dbname(数据库名称) 成功提示:Database changed/*查看数据库中有哪些表*/show tables; /*删除数据库*/drop database dbname(...翻译 2019-05-01 11:10:45 · 489 阅读 · 0 评论 -
关于注解的使用
package com.liming.study;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;@Target(va...原创 2019-04-20 17:04:35 · 255 阅读 · 0 评论 -
Socket流使用BufferedReader的readline产生阻塞的实际原因
//实际原因就是使用BufferedWriter写数据的时候没使用 newline语句//这样BufferedReader就会认为这一句话还没有结束,所以一直在这里产生阻塞原创 2019-04-16 14:57:34 · 1282 阅读 · 0 评论 -
Java异常处理问题总结
//在异常处理中finally无论发生异常还是不发生异常都会执行,等于对异常检测与处理异常收尾工作//throws 如果异常在方法体内不能被处理,则将异常抛出方法体,交给方法调用者处理//当try体内发生异常时,系统将依次匹配与之相对应的异常处理的catch,//直到执行到finally如果未找到与之相匹配的catch异常处理则将异常抛出方法体//方法体默认抛出 throws Except...原创 2019-03-09 12:32:55 · 203 阅读 · 0 评论 -
Java继承与访问权限问题总结
/** 子类的继承与父类成员构造方法的初始化 1.父类所有成员变量和方法被子类完全继承 但访问权限为private的成员变量和方法被禁止, 可以使用权限为非private的getter与setter操作 2.如果子类存在非private可访问的同名父类成员,那么可以在子类中使用 super.来调用 3.访问权限 private 自身 default 自身 包内(包内子类可访...原创 2019-03-06 21:38:58 · 1067 阅读 · 0 评论 -
重写与重载之间的区别
重写与重载之间的区别区别点 重载方法 重写方法 参数列表 必须修改 一定不能修改 返回类型 可以修改 一定不能修改 异常 可以修改 可以减少或删除,一定不能抛出新的或者更广的异常 访问 可以修改 一定不能做更严格的限制(可以降低限制) ...转载 2019-03-06 21:56:24 · 111 阅读 · 0 评论 -
Java抽象类与接口问题总结
//抽象类不可以被实例化,抽象类中可以没有抽象方法,但有抽象方法的类必须声明为抽象类//抽象方法的声明必须使用abstract修饰符修饰//抽象类中可以存在成员变量以及成员方法//抽象方法重写 方法名以及参数列表 返回值必须保持一致//被final修饰的类不可继承,方法不可重写,成员变量值不可更改//static 静态方法 ,属于类,不可被重写,在编译时被静态编译public cla...原创 2019-03-08 13:03:44 · 282 阅读 · 0 评论 -
Java容器问题总结
import java.util.*;public class CollectionTest { public static void main(String[] args){/* Collection; //接口定义集合 Set; //Set无序不可重复集合 接口 List; // 有序可重复列表 接口...原创 2019-03-26 10:12:23 · 198 阅读 · 0 评论 -
java集合(list,set,map)
集合集合与数组数组(可以存储基本数据类型)是用来存现对象的一种容器,但是数组的长度固定,不适合在对象数量未知的情况下使用。集合(只能存储对象,对象类型可以不一样)的长度可变,可在多数情况下使用。注:数组我在前面的博客讲了大家可以看下集合中接口和类的关系Collection接口是集合类的根接口,Java中没有提供这个接口的直接的实现类。但是却让其被继承产生了两个接口,就是Set...转载 2019-03-26 10:19:23 · 181 阅读 · 0 评论 -
Java文件操作问题总结
import java.io.File;import java.io.IOException;public class FileTest { public static void main(String[] args){ String _separator = File.separator; String filename = "file.txt";...原创 2019-03-25 10:07:51 · 320 阅读 · 0 评论 -
JavaGUI问题总结
import java.awt.*;public class GUITest { public static void main(String[] args){ Frame f = new Frame("我是标题栏"); Panel p = new Panel(); Panel p2 = new Panel(); f....原创 2019-04-04 19:45:58 · 658 阅读 · 0 评论 -
JavaIO流问题总结
import com.sun.xml.internal.ws.policy.privateutil.PolicyUtils;import java.io.*;import java.util.Date;public class InTest { public static void main(String[] args)throws IOException { /...原创 2019-03-31 19:15:35 · 386 阅读 · 0 评论 -
Java容器关系图
原创 2019-03-28 16:35:48 · 430 阅读 · 0 评论 -
JavaIO流关系图
原创 2019-03-28 16:36:37 · 1010 阅读 · 0 评论 -
Java泛型问题总结
package com.liming.collection;import java.util.Collection;public class Test { public static void main(String[] args){ System.out.println("TestCollection"); MyCollection<Str...原创 2019-04-07 19:03:16 · 395 阅读 · 0 评论 -
Java线程问题总结
public class ThreadTest { public static void main(String[] args){ // System.out.println("HelloWorld"); Counter c = new Counter(); Thread n1 = new Thread(new Run(c)); n...原创 2019-04-02 23:35:50 · 133 阅读 · 0 评论 -
Java网络通信问题总结
//ServerTest.javaimport java.io.*;import java.net.ServerSocket;import java.net.Socket;public class ServerTest { public static void main(String[] args){ ServerSocket ss = null; ...原创 2019-04-02 23:40:39 · 263 阅读 · 0 评论 -
Socket流千万不要放在try……with……resoures中
Socket try with resourestry(OutputStream os = clientSocket.getOutputStream()){ //此语句会导致关闭Socket连接! //调试了2天人快要疯掉了! //千万要记住!}catch(Exception e){}...原创 2019-04-16 14:53:57 · 1093 阅读 · 3 评论 -
MySQl基本知识点(二)(数据类型与函数)
MySQL支持的数据类型1、数值类型常见的数值类型如下:注:这里的最小值和最大值代表的是宽度。对于这几种常见的数值类型,我们应该知道存储的所占的字节,我们还要知道INT最大的长度为10位数字,那么我们设置11为,如:int(11)也是无用的,最多只能为10位数字。TINYINT最大支持3位,那么我们设置tinyint(4)也是无用的。2、日期时间类型上图可以看出...翻译 2019-05-01 11:23:51 · 446 阅读 · 0 评论