Skip to content

Commit 0bbc1d2

Browse files
committed
Update Java Notes
1 parent 448c4b4 commit 0bbc1d2

4 files changed

Lines changed: 307 additions & 222 deletions

File tree

DB.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6628,11 +6628,11 @@ Connection:数据库连接对象
66286628
- 获取普通执行者对象:`Statement createStatement()`
66296629
- 获取预编译执行者对象:`PreparedStatement prepareStatement(String sql)`
66306630
- 管理事务
6631-
- 开启事务:`setAutoCommit(boolean autoCommit)`false开启事务,true自动提交模式(默认)
6631+
- 开启事务:`setAutoCommit(boolean autoCommit)`false 开启事务,true 自动提交模式(默认)
66326632
- 提交事务:`void commit()`
66336633
- 回滚事务:`void rollback()`
66346634
- 释放资源
6635-
- 释放此Connection对象的数据库和JDBC资源`void close()`
6635+
- 释放此 Connection 对象的数据库和 JDBC 资源`void close()`
66366636

66376637

66386638

Java.md

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8378,7 +8378,7 @@ public class ReflectDemo {
83788378

83798379
### 注解格式
83808380

8381-
定义格式:自定义注解用@interface关键字,注解默认可以标记很多地方
8381+
定义格式:自定义注解用 @interface 关键字,注解默认可以标记很多地方
83828382

83838383
```java
83848384
修饰符 @interface 注解名{
@@ -18588,6 +18588,7 @@ public static Object newProxyInstance(ClassLoader loader,
1858818588
//获取代理类的构造方法,根据参数 InvocationHandler 匹配获取某个构造器
1858918589
final Constructor<?> cons = cl.getConstructor(constructorParams);
1859018590
final InvocationHandler ih = h;
18591+
//构造方法不是 pubic 的需要启用权限
1859118592
if (!Modifier.isPublic(cl.getModifiers())) {
1859218593
AccessController.doPrivileged(new PrivilegedAction<Void>() {
1859318594
public Void run() {
@@ -18603,6 +18604,8 @@ public static Object newProxyInstance(ClassLoader loader,
1860318604
}
1860418605
```
1860518606

18607+
Proxy 的静态内部类:
18608+
1860618609
```java
1860718610
private static final class ProxyClassFactory {
1860818611
// 代理类型的名称前缀
@@ -18693,8 +18696,6 @@ private static final class ProxyClassFactory {
1869318696

1869418697

1869518698

18696-
18697-
1869818699
***
1869918700

1870018701

@@ -18745,7 +18746,7 @@ CGLIB 的优缺点
1874518746
* 优点:
1874618747
* CGLIB 动态代理**不限定**是否具有接口,可以对任意操作进行增强
1874718748
* CGLIB 动态代理无需要原始被代理对象,动态创建出新的代理对象
18748-
* JDKProxy 仅对接口方法做增强,CGLIB 对所有方法做增强,包括 Object 类中的方法,toString、hashCode 等
18749+
* **JDKProxy 仅对接口方法做增强,CGLIB 对所有方法做增强**,包括 Object 类中的方法,toString、hashCode 等
1874918750
* 缺点:CGLIB 不能对声明为 final 的类或者方法进行代理,因为 CGLIB 原理是**动态生成被代理类的子类,继承被代理类**
1875018751

1875118752

@@ -18830,7 +18831,7 @@ CGLIB 的优缺点
1883018831

1883118832
例如:现有一台电脑只能读取 SD 卡,而要读取 TF 卡中的内容的话就需要使用到适配器模式
1883218833

18833-
* SD卡
18834+
* SD 卡
1883418835

1883518836
```java
1883618837
//接口
@@ -18930,7 +18931,7 @@ CGLIB 的优缺点
1893018931
* 适配器类:
1893118932

1893218933
```java
18933-
public class SDAdapterTF implements SDCard {
18934+
public class SDAdapterTF implements SDCard {
1893418935
private TFCard tfCard;
1893518936
public SDAdapterTF(TFCard tfCard) {
1893618937
this.tfCard = tfCard;

Prog.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
进程:程序是静止的,进程实体的运行过程就是进程,是系统进行资源分配的基本单位
88

9-
进程的特征:动态性、并发性、独立性、异步性、结构性
9+
进程的特征:并发性、异步性、动态性、独立性、结构性
1010

1111
**线程**:线程是属于进程的,是一个基本的 CPU 执行单元,是程序执行流的最小单元。线程是进程中的一个实体,是被系统独立调度和分配的基本单位,线程本身不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其他线程共享进程所拥有的全部资源。
1212

0 commit comments

Comments
 (0)