java
Patrick Choi
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JDK8 Lambda学习记录
“Lambda 表达式”(lambda expression)是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda abstraction),是一个匿名函数,即没有函数名的函数。Lambda表达式可以表示闭包(注意和数学传统意义上的不同)。 /** * 无参数、无返回值,以Runnable为例 */ @FunctionalInterf...原创 2018-11-08 09:52:35 · 180 阅读 · 0 评论 -
java基础-面向对象类加载顺序
定义一个类 public class Animal { private String attr1 = "我是一个成员变量"; private static String attr2 = "[我是一个静态成员变量]"; { System.out.println("我是一个代码块,在调用构造方法之前执行"); } static { ...原创 2019-08-14 07:22:16 · 223 阅读 · 0 评论 -
java基础-面向对象
什么是面向对象?什么是面向过程? 面向对象的三大特性:封装、继承、多态。 封装是指:对面向过程的封装,比如说数值比较,在面向对象中它就是一个 封装后的compare() 方法,compare()方法过程的实现就是面向过程。 优点: 1、对于调用对象者无需知道封装内容的依赖,只与对象依赖,降低耦合度。 2、提高代码阅读性、可重复利用性和降低代码复杂性。 3、可使用访问修饰符对内容保护不被...原创 2019-08-14 00:51:39 · 185 阅读 · 0 评论 -
java基础-修饰符
访问修饰符 访问修饰符有4种:default、public、proected、private。 修饰符在类、方法、成员变量中出现。 修饰符与被修饰者访问权限 同类 同包 子类 不同包 public √ √ √ √ protected √ √ √ × default √ √ × × ...原创 2019-07-22 15:16:21 · 160 阅读 · 0 评论 -
java基础-循环
循环的基本语法: import java.util.Arrays; import java.util.Iterator; import java.util.List; public class Test { public static void main(String[] args) { // while循环 int i = 0; wh...原创 2019-07-22 12:55:50 · 208 阅读 · 0 评论 -
java基础-逻辑运算符
逻辑与:&,条件都为true则返回true,若发现不为true仍然执行后面条件。 逻辑或:|,条件有一个为true则返回true,仍然执行后面条件。 逻辑异或:^,两个结果不一致为true 逻辑非:!,结果相反 短路与:&&,条件都为true则返回true,若发现不为true则不再执行后面条件(短路)。 短路或:||,条件有一个为true则返回true,若发现有t...原创 2019-07-22 00:56:32 · 119 阅读 · 0 评论 -
java基础-基本数据类型
基本数据类型有8种分别为: 整 形:byte(1bit),short(2bit),int(4bit),long(8bit,在JDK32位的时候长度为4bit) 浮点型:float(4bit),double(8bit) 字符型:char(2bit) 布尔型:boolean (1bit) 整数 1bit有8位其中第1位用来记录正负数(0代表正数,1代表负数),这样就出现0...原创 2019-07-22 00:23:30 · 137 阅读 · 0 评论 -
java反射机制实战(6) - 总结Declared
1、declared的方法只获取当前类定义的。 2、非declared只能获取public修饰的。 3、Class、Method、Field如果使用非declared的方法获取都是可以获取父类的public修饰符对应的元素,Constructor只获取当前类。构造方法不能继承。 4、Class使用非declared的方法会获取父类注解,其它只会获取当前元素注解。我个人理解如果Field、...原创 2019-06-18 19:08:32 · 509 阅读 · 0 评论 -
java反射机制实战(5) - Annotation
注解在源码里常用,接下来实战如何通过Class获取Annotation /** * 注解一 */ @Target({ElementType.METHOD,ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Inherited @Documented public @interface MyAnnotation { } /** ...原创 2019-06-18 11:20:04 · 170 阅读 · 0 评论 -
java反射机制实战(4) - Field
有了上一节Method的实验,操作Field就易如反掌了。 /** * 反射父类对象 */ public class AbstractReflectionModel { private String id; public String id2; public AbstractReflectionModel() { } public String ...原创 2019-06-17 11:24:13 · 240 阅读 · 0 评论 -
java反射机制实战(3) - Method
反射获取对象的所有方法,并且打印方法名 public class ReflectionTest2 { public static void main(String[] args) throws Exception { ReflectionModel model = new ReflectionModel(); Class<? extends Ref...原创 2019-06-12 10:40:23 · 207 阅读 · 0 评论 -
java反射机制实战(1) - Class
当一个类在java语法下无法调用的情况下,例如其他类访问某一个类私有变量,可以使用反射机制破坏这种规则。接下来就开始实战: package com.pss.model; /** * 被反射的类 */ public class ReflectionModel { private String sql; private Integer count; public ...原创 2019-06-10 14:12:54 · 226 阅读 · 0 评论 -
java反射机制实战(2) - Constructors
使用Class生成实例和构造方法生成实例 import com.pss.model.ReflectionModel; import java.lang.reflect.Constructor; public class ReflectionTest2 { public static void main(String[] args) throws Exception { ...原创 2019-06-10 14:14:19 · 305 阅读 · 0 评论 -
java基础-Annotation
在使用spring框架的时候,会提供很多注解例如 @Autowired、@Bean等。Spring 通过扫描注解,在标注了过注解的地方会执行特定操作。如实例化Bean,注入Bean。所以注解的用法已经比较清楚,接下来开始实战: 先看看别人定义的注解: @Target({ElementType.CONSTRUCTOR, ElementType.METHOD, ElementType.PARAM...原创 2019-06-19 16:43:18 · 243 阅读 · 0 评论 -
ThreadLocal实践
当多个线程占用一个共享成员变量的时候就会出现线程问题,在之前实践的数据源连接池里,存放数据源是的LinkedList<Connection>,LinkedList是非线程安全的。在多线程场景下会出现线程安全问题,为了改进我使用了ThreadLocal解决这个问题。 ThreadLocal是Thread存放变量的一个副本,Thread有个成员变量存放的是ThreadLocalMap,键...原创 2019-06-03 15:49:16 · 274 阅读 · 0 评论 -
实现一个简单的数据库连接池
数据库连接池就是管理数据库连接的地方,因为有很多连接所以叫池。 实现数据库连接池基本功能:可以设置池大小,如果连接被使用中就从池内取出,等资源调用close方法将资源返回到池中。其他超时释放资源等功能就不一一实现了。 首先实现javax.sql.DataSource接口 import javax.sql.DataSource; import java.io.PrintWriter; imp...原创 2019-06-03 14:30:13 · 387 阅读 · 0 评论 -
设计模式六大设计原则
六大设计原则: 总原则:开闭原则:对扩展开放,对修改关闭。 1、单一职责原则:拆分接口/类实现单一的职责。 2、里氏替换原则:继承,实现“开-闭”原则的关键步骤就是抽象化。 3、依赖倒置原则:依赖抽象类而不依赖子类。 4、接口隔离原则:接口中存在子类用不到切必须实现的方法,就要将接口拆分。 5、迪米特法则:一个类对自己依赖的类知道的越少越好,依赖类提供public直接调用。 6、合成...原创 2018-11-29 19:20:31 · 276 阅读 · 0 评论 -
java基础-面向对象-多态参数类型扩大访问不允许的原因
创建参数 public class A { } public class B extends A { } 创建父类,父类的run方法返回的是B子类的参数 public class AA { public B run() { return new B(); } } 创建子类,这时候会报错 public class BB extends AA ...原创 2019-08-14 07:46:47 · 217 阅读 · 1 评论
分享