Skip to content

Commit 33cc658

Browse files
committed
Update Java Notes
1 parent ef6dfa7 commit 33cc658

File tree

5 files changed

+65
-63
lines changed

5 files changed

+65
-63
lines changed

DB.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5498,7 +5498,7 @@ Jedis用于Java语言连接redis服务,并提供对应的操作API
54985498
API文档:http://xetorthio.github.io/jedis/
54995499

55005500
连接redis:`Jedis jedis = new Jedis("192.168..185", 6379);`
5501-
操作redis:`jedis.set("name", "itheima"); jedis.get("name");`
5501+
操作redis:`jedis.set("name", "seazean"); jedis.get("name");`
55025502
关闭redis:`jedis.close();`
55035503

55045504
代码实现:

Frame.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ pom.xml:Maven需要一个pom.xml文件,Maven通过加载这个配置文件
6868
* https://mvnrepository.com:查询maven某一个资源的坐标,输入资源名称进行检索,
6969

7070
* 依赖设置:
71-
* groupId:定义当前资源隶属组织名称(通常是域名反写,如:org.mybatis;com.itheima
71+
* groupId:定义当前资源隶属组织名称(通常是域名反写,如:org.mybatis;com.seazean
7272
* artifactId:定义当前资源的名称(通常是项目或模块名称,如:crm,sms)
7373
* version:定义当前资源的版本号
7474

@@ -768,7 +768,7 @@ Maven的插件用来执行生命周期中的相关事件
768768
```xml
769769
<!--定义该工程的父工程-->
770770
<parent>
771-
<groupId>com.itheima</groupId>
771+
<groupId>com.seazean</groupId>
772772
<artifactId>ssm</artifactId>
773773
<version>1.0-SNAPSHOT</version>
774774
<!--填写父工程的pom文件-->
@@ -2324,7 +2324,7 @@ public class CuratorTest {
23242324
.sessionTimeoutMs(60 * 1000)
23252325
.connectionTimeoutMs(15 * 1000)
23262326
.retryPolicy(retryPolicy)
2327-
.namespace("itheima")//名称空间
2327+
.namespace("seazean")//名称空间
23282328
.build();
23292329

23302330
//开启连接
@@ -4046,12 +4046,12 @@ public class ProducerTest {
40464046
password="${rabbitmq.password}"
40474047
virtual-host="${rabbitmq.virtual-host}"/>
40484048

4049-
<bean id="springQueueListener" class="com.itheima.rabbitmq.listener.SpringQueueListener"/>
4050-
<bean id="fanoutListener1" class="com.itheima.rabbitmq.listener.FanoutListener1"/>
4051-
<bean id="fanoutListener2" class="com.itheima.rabbitmq.listener.FanoutListener2"/>
4052-
<bean id="topicListenerStar" class="com.itheima.rabbitmq.listener.TopicListenerStar"/>
4053-
<bean id="topicListenerWell" class="com.itheima.rabbitmq.listener.TopicListenerWell"/>
4054-
<bean id="topicListenerWell2" class="com.itheima.rabbitmq.listener.TopicListenerWell2"/>
4049+
<bean id="springQueueListener" class="com.seazean.rabbitmq.listener.SpringQueueListener"/>
4050+
<bean id="fanoutListener1" class="com.seazean.rabbitmq.listener.FanoutListener1"/>
4051+
<bean id="fanoutListener2" class="com.seazean.rabbitmq.listener.FanoutListener2"/>
4052+
<bean id="topicListenerStar" class="com.seazean.rabbitmq.listener.TopicListenerStar"/>
4053+
<bean id="topicListenerWell" class="com.seazean.rabbitmq.listener.TopicListenerWell"/>
4054+
<bean id="topicListenerWell2" class="com.seazean.rabbitmq.listener.TopicListenerWell2"/>
40554055

40564056
<rabbit:listener-container connection-factory="connectionFactory" auto-declare="true">
40574057
<rabbit:listener ref="springQueueListener" queue-names="spring_queue"/>
@@ -4580,7 +4580,7 @@ Consumer ACK机制:
45804580
password="${rabbitmq.password}"
45814581
virtual-host="${rabbitmq.virtual-host}"/>
45824582

4583-
<context:component-scan base-package="com.itheima.listener" />
4583+
<context:component-scan base-package="com.seazean.listener" />
45844584

45854585
<!--定义监听器容器-->
45864586
<rabbit:listener-container connection-factory="connectionFactory" acknowledge="manual" >
@@ -4589,7 +4589,7 @@ Consumer ACK机制:
45894589
</rabbit:listener-container>
45904590
```
45914591

4592-
* 监听器:com.itheima.listener.AckListener
4592+
* 监听器:com.seazean.listener.AckListener
45934593

45944594
```java
45954595
@Component
@@ -4645,7 +4645,7 @@ Consumer 限流机制:
46454645
</rabbit:listener-container>
46464646
```
46474647

4648-
* 监听器:com.itheima.listener.QosListener
4648+
* 监听器:com.seazean.listener.QosListener
46494649

46504650
```java
46514651
@Component
@@ -4844,7 +4844,7 @@ TTL 全称 Time To Live(存活时间/过期时间)
48444844

48454845
消费者代码实现:
48464846

4847-
* 监听器:com.itheima.listener.DlxListener
4847+
* 监听器:com.seazean.listener.DlxListener
48484848

48494849
```java
48504850
@Component
@@ -4956,7 +4956,7 @@ RabbitMQ中并未提供延迟队列功能,可以使用:**TTL+死信队列**
49564956
</rabbit:listener-container>
49574957
```
49584958

4959-
* 监听器:com.itheima.listener.OrderListener
4959+
* 监听器:com.seazean.listener.OrderListener
49604960

49614961
```java
49624962
@Component

Java.md

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -7030,7 +7030,7 @@ public class FileDemo{
70307030
// -- a.使用正斜杠: /
70317031
// -- b.使用反斜杠: \\
70327032
// -- c.使用分隔符API:File.separator
7033-
//File f1 = new File("D:"+File.separator+"itcast"+File.separator
7033+
//File f1 = new File("D:"+File.separator+"it"+File.separator
70347034
//+"图片资源"+File.separator+"beautiful.jpg");
70357035
File f1 = new File("D:\\itcast\\图片资源\\beautiful.jpg");
70367036
System.out.println(f1.length()); // 获取文件的大小,字节大小
@@ -7040,7 +7040,7 @@ public class FileDemo{
70407040
System.out.println(f2.length());
70417041

70427042
// 3.创建文件对象:代表文件夹。
7043-
File f3 = new File("D:\\itcast\\图片资源");
7043+
File f3 = new File("D:\\it\\图片资源");
70447044
System.out.println(f3.exists());// 判断路径是否存在!!
70457045
}
70467046
}
@@ -7130,15 +7130,15 @@ public class FileDemo {
71307130
// b.删除文件或者空文件夹
71317131
System.out.println(f.delete());
71327132
// 不能删除非空文件夹,只能删除空文件夹
7133-
File f1 = new File("E:/itcast/aaaaa");
7133+
File f1 = new File("E:/it/aaaaa");
71347134
System.out.println(f1.delete());
71357135

71367136
// c.创建一级目录
71377137
File f2 = new File("E:/bbbb");
71387138
System.out.println(f2.mkdir());
71397139

71407140
// d.创建多级目录
7141-
File f3 = new File("D:/itcast/e/a/d/ds/fas/fas/fas/fas/fas/fas");
7141+
File f3 = new File("D:/it/e/a/d/ds/fas/fas/fas/fas/fas/fas");
71427142
System.out.println(f3.mkdirs());
71437143
}
71447144
}
@@ -7175,7 +7175,7 @@ public class FileDemo {
71757175
}
71767176

71777177
// c
7178-
File f1 = new File("D:\\itcast\\图片资源\\beautiful.jpg");
7178+
File f1 = new File("D:\\it\\图片资源\\beautiful.jpg");
71797179
long time = f1.lastModified(); // 最后修改时间!
71807180
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
71817181
System.out.println(sdf.format(time));
@@ -8113,9 +8113,9 @@ public class CommonsIODemo01 {
81138113
new FileOutputStream("Day13Demo/new.xml"));
81148114
// 2.完成文件复制到某个文件夹下!
81158115
FileUtils.copyFileToDirectory(new File("Day13Demo/src/books.xml"),
8116-
new File("D:/itcast"));
8116+
new File("D:/it"));
81178117
// 3.完成文件夹复制到某个文件夹下!
8118-
FileUtils.copyDirectoryToDirectory(new File("D:\\itcast\\约吧图片服务器") ,
8118+
FileUtils.copyDirectoryToDirectory(new File("D:\\it\\图片服务器") ,
81198119
new File("D:\\"));
81208120

81218121
// Java从1.7开始提供了一些nio, 自己也有一行代码完成复制的技术。
@@ -9026,7 +9026,7 @@ NIO的实现框架:
90269026
public class TestBuffer {
90279027
@Test
90289028
public void test(){
9029-
String str = "itheima";
9029+
String str = "seazean";
90309030
//1. 分配一个指定大小的缓冲区
90319031
ByteBuffer buffer = ByteBuffer.allocate(1024);
90329032
System.out.println("-----------------allocate()----------------");
@@ -11971,8 +11971,10 @@ public class Demo1_27 {
1197111971

1197211972
静态内部类和其他内部类:(待考证)
1197311973

11974+
* **一个class文件只能对应一个public类型的类**,这个类可以有内部类,但不会生成新的class文件
11975+
1197411976
* 静态内部类属于类本身,加载到方法区
11975-
* 其他内部类加载到栈
11977+
* 其他内部类属于内部类的属性,加载到栈
1197611978

1197711979
类变量:
1197811980

@@ -13059,7 +13061,7 @@ Serial GC、Parallel GC、Concurrent Mark Sweep GC这三个GC不同:
1305913061

1306013062
#### 类结构
1306113063

13062-
class文件是编译器编译之后供虚拟机解释执行的二进制字节码文件
13064+
class文件是编译器编译之后供虚拟机解释执行的二进制字节码文件,一个class文件对应一个public类型的类
1306313065

1306413066
根据 JVM 规范,类文件结构如下:
1306513067

@@ -13467,7 +13469,7 @@ public class Demo {
1346713469
几种不同的方法调用对应的字节码指令:
1346813470

1346913471
```java
13470-
0: new #2 // class cn/itcast/jvm/t3/bytecode/Demo
13472+
0: new #2 // class cn/jvm/t3/bytecode/Demo
1347113473
3: dup
1347213474
4: invokespecial #3 // Method "<init>":()V
1347313475
7: astore_1
@@ -14497,7 +14499,7 @@ public class Load2 {
1449714499
public static void main(String[] args) throws Exception{
1449814500
ClassLoader classloader = Load2.class.getClassLoader();
1449914501
// cloadClass 加载类方法不会导致类的解析和初始化,也不会加载D
14500-
Class<?> c = classloader.loadClass("cn.itcast.jvm.t3.load.C");
14502+
Class<?> c = classloader.loadClass("cn.jvm.t3.load.C");
1450114503

1450214504
// new C();会导致类的解析和初始化,从而解析初始化D
1450314505
System.in.read();
@@ -14802,7 +14804,7 @@ public class MyClassLoader extends ClassLoader{
1480214804
public class ClassLoaderTest {
1480314805
public static void main(String[] args) throws Exception {
1480414806
MyClassLoader classLoader = new MyClassLoader("D:\\workspace\\course\\java97\\redisLock\\src\\main\\java");
14805-
Class clazz = classLoader.loadClass("com.itheima.demo.User");
14807+
Class clazz = classLoader.loadClass("com.demo.User");
1480614808
System.out.println(clazz.getClassLoader().getClass().getName());
1480714809
}
1480814810
}//当存在.java文件时,根据双亲委派机制,显示当前类加载器为AppClassLoader,而当将.java文件删除时,则显示使用的是自定义的类加载器

0 commit comments

Comments
 (0)