成员变量与局部变量

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public class Demo1 {
static int s;
int i;
int j;
{
int i = 1;
i++;
j++;
s++;
}
public void test(int j) {
j++;
i++;
s++;
}
public static void main(String[] args) {
Demo1 obj1 = new Demo1();
Demo1 obj2 = new Demo1();
obj1.test(10);
obj1.test(20);
obj2.test(30);
System.out.println(obj1.i + "," + obj1.j + "," + obj1.s);
System.out.println(obj2.i + "," + obj2.j + "," + obj2.s);
}
}

方法的参数传递机制

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
public class Demo1 {
public static void main(String[] args) {
int i = 1;
String str = "hello";
Integer num = 200;
int[] arr = {1, 2, 3, 4, 5};
MyData my = new MyData();

change(i, str, num, arr, my);

System.out.println("i = " + i);
System.out.println("str = " + str);
System.out.println("num = " + num);
System.out.println("arr = " + Arrays.toString(arr));
System.out.println("my.a = " + my.a);
}

public static void change(int j, String s, Integer n, int[] a, MyData m) {
j += 1;
s += "world";
n += 1;
a[0] += 1;
m.a += 1;
}
}

class MyData {
int a = 10;
}

类初始化和实例初始化

用例代码

运行结果:

(5)(1)(10)(6)(9)(3)(2)(9)(8)(7)
(9)(3)(2)(9)(8)(7)

以上代码考察的知识点有三个:

  • 类的初始化过程

  • 实例初始化过程

  • 方法的重写

单例设计模式

单例设计模式,即某个类在整个系统中只能有一个实例对象可被获取和使用的代码模式。
例如:代表JVM运行环境的Runtime类

要点:

  1. 某个类只能有一个实例;

    • 构造器私有化
  2. 是它必须自行创建这个实例;

    • 含有一个该类的静态变量来保存这个唯一的实例
  3. 是它必须自行向整个系统提供这个实例;

    • 对外提供获取该实例对象的方式:(1)直接暴露(2)用静态变量的get方法获取

自增变量

先看一段代码:

1
2
3
4
5
6
7
8
9
10
11
public class Demo1 {
public static void main(String[] args) {
int i = 1; // i = 1
i = i++; // i = 1
int j = i++; // j = 1
int k = i + ++i * i++; // k = 11
System.out.println("i = " + i);
System.out.println("j = " + j);
System.out.println("k = " + k);
}
}

基于 Spring Boot 技术栈构建企业级博客系统的开发记录

博客首页

基于 Spring Boot 技术栈构建企业级博客系统的开发记录
- 该项目构建基于 Gradle,目的在于通过博客系统的开发了解企业级开发的完整流程,学习掌握 Spring Boot 及其周边前沿技术。
- preview:http://blog.yuzh.xyz

如何给通过脚本添加的元素注册事件

前端弱渣,记录一下问题解决:

1
2
3
4
// 事件冒泡:给动态添加的 html 元素注册事件
$("body").on("click", ".blog-edit-user", function () {
// .blog-edit-user 是需要被注册事件的元素标签
}

参考:https://www.jb51.net/article/120018.htm

解决使用 bootstrap 更新操作时-模态框回显传值问题

回顾 ModelAndView

之前的印象中,我使用 ModelAndView 的场景是在需要重定向页面时带上参数。最近在做博客系统开发时学到了新的一招,就是 ModelAndView 不仅可以跳转页面,还可以”跳转”页面的部分内容!比如这样:new ModelAndView("users/list :: #user_div",map); —— 这句话的意思是找到 user/list.html 将其中的指定 div 的 html 代码作为字符串返回值输出出去(如果这个 div 有取值标签将会被赋值)。如果是同步请求将会输出到浏览器实现刷新,如果是异步则会作为 data 的字符串文本数据(html代码)

Git 实用指南

版本控制系统(VCS)

版本控制 / 主动提交 / 中央仓库 构成了一个最核心的版本控制系统。

版本控制:最基本的功能

版本控制系统最基本的功能是版本控制。版本控制,简单的理解就是在文件中的修改历程中保存修改历史,我们可以方便的撤销之前对文件的修改。

在普通文本编辑器中,我们可以使用 Undo 操作回退到上一次的操作;在程序编码,我们可以通过 VCS 回退到指定的一次操作,而不仅仅是上一次操作。

主动提交机制:VCS 与普通文本编辑器的区别

使用普通文本编辑器的时候,一次保存就是一次改动,对版本的 控制 仅仅是回退到上一次操作。而正常情况下,我们的程序代码修改的生命周期十分长,一次代码的修改,在几天后、几个月后、甚至几年后都可能被翻出来。此时像普通编辑器的“自动保存提交”的功能在对历史代码审查、回退中会变得非常繁琐和无章可循。所以和普通文本编辑器的“撤销”功能不同,VCS 保存修改历史,使用 主动提交改动 的机制。

所谓 主动提交改动 ,是指每次代码的修改和保存不会自动提交,需要手动提交(commit)到仓库,VCS 会把这次提交记录到版本历史中,当往后需要回退到这个版本,可以在 VCS 的历史提交纪录中找到这条记录。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×