Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit c7e9f38

Browse filesBrowse files
committed
添加优秀工具类demo
1 parent daa79ea commit c7e9f38
Copy full SHA for c7e9f38

File tree

Expand file treeCollapse file tree

3 files changed

+208
-0
lines changed
Open diff view settings
Filter options
Expand file treeCollapse file tree

3 files changed

+208
-0
lines changed
Open diff view settings
Collapse file

‎JdkLearn/pom.xml‎

Copy file name to clipboardExpand all lines: JdkLearn/pom.xml
+22Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,32 @@
1616

1717
<properties>
1818
<java.version>1.8</java.version>
19+
<!-- <caffeine.version>2.8.0</caffeine.version>-->
1920
</properties>
2021

2122
<dependencies>
2223

24+
<!-- <dependency>-->
25+
<!-- <groupId>com.github.ben-manes.caffeine</groupId>-->
26+
<!-- <artifactId>caffeine</artifactId>-->
27+
<!-- <version>${caffeine.version}</version>-->
28+
<!-- </dependency>-->
29+
<!-- <dependency>-->
30+
<!-- <groupId>com.github.ben-manes.caffeine</groupId>-->
31+
<!-- <artifactId>guava</artifactId>-->
32+
<!-- <version>${caffeine.version}</version>-->
33+
<!-- </dependency>-->
34+
<!-- <dependency>-->
35+
<!-- <groupId>com.github.ben-manes.caffeine</groupId>-->
36+
<!-- <artifactId>jcache</artifactId>-->
37+
<!-- <version>${caffeine.version}</version>-->
38+
<!-- </dependency>-->
39+
<!-- <dependency>-->
40+
<!-- <groupId>com.github.ben-manes.caffeine</groupId>-->
41+
<!-- <artifactId>simulator</artifactId>-->
42+
<!-- <version>${caffeine.version}</version>-->
43+
<!-- </dependency>-->
44+
2345
<!-- netty -->
2446
<dependency>
2547
<groupId>io.netty</groupId>
Collapse file
+170Lines changed: 170 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,170 @@
1+
package com.learnjava.optimization;
2+
3+
import org.springframework.cglib.beans.BeanCopier;
4+
5+
/**
6+
*
7+
* 经过测试,BeanCopier性能是BeanUtils10倍左右。
8+
*
9+
* BeanCopier拷贝速度快,性能瓶颈出现在创建BeanCopier实例的过程中。 所以,把创建过的BeanCopier实例放到缓存中,下次可以直接获取,提升性能:
10+
*
11+
*
12+
* @author lhy
13+
* @date 2021/7/21
14+
*/
15+
public class BeanCopierDemo {
16+
17+
private static final BeanCopier BEAN_COPIER = BeanCopier.create(Person.class, PersonVo.class, false);
18+
19+
public static void main(String[] args) {
20+
Person person = new Person("zs", "high School", 16, 177, 126);
21+
PersonVo vo = new PersonVo();
22+
23+
BEAN_COPIER.copy(person, vo, null);
24+
25+
System.out.println(vo);
26+
}
27+
28+
29+
30+
31+
32+
33+
34+
35+
36+
37+
38+
39+
40+
41+
42+
43+
44+
45+
46+
47+
48+
49+
50+
51+
52+
53+
54+
55+
56+
public static class PersonVo {
57+
private String name;
58+
private String grade;
59+
private Integer age;
60+
private Integer height;
61+
private Integer weight;
62+
63+
@Override
64+
public String toString() {
65+
return "PersonVo{" +
66+
"name='" + name + '\'' +
67+
", grade='" + grade + '\'' +
68+
", age=" + age +
69+
", height=" + height +
70+
", weight=" + weight +
71+
'}';
72+
}
73+
74+
public String getName() {
75+
return name;
76+
}
77+
78+
public void setName(String name) {
79+
this.name = name;
80+
}
81+
82+
public String getGrade() {
83+
return grade;
84+
}
85+
86+
public void setGrade(String grade) {
87+
this.grade = grade;
88+
}
89+
90+
public Integer getAge() {
91+
return age;
92+
}
93+
94+
public void setAge(Integer age) {
95+
this.age = age;
96+
}
97+
98+
public Integer getHeight() {
99+
return height;
100+
}
101+
102+
public void setHeight(Integer height) {
103+
this.height = height;
104+
}
105+
106+
public Integer getWeight() {
107+
return weight;
108+
}
109+
110+
public void setWeight(Integer weight) {
111+
this.weight = weight;
112+
}
113+
}
114+
115+
public static class Person {
116+
private String name;
117+
private String grade;
118+
private Integer age;
119+
private Integer height;
120+
private Integer weight;
121+
122+
public Person(String name, String grade, Integer age, Integer height, Integer weight) {
123+
this.name = name;
124+
this.grade = grade;
125+
this.age = age;
126+
this.height = height;
127+
this.weight = weight;
128+
}
129+
130+
public String getName() {
131+
return name;
132+
}
133+
134+
public void setName(String name) {
135+
this.name = name;
136+
}
137+
138+
public String getGrade() {
139+
return grade;
140+
}
141+
142+
public void setGrade(String grade) {
143+
this.grade = grade;
144+
}
145+
146+
public Integer getAge() {
147+
return age;
148+
}
149+
150+
public void setAge(Integer age) {
151+
this.age = age;
152+
}
153+
154+
public Integer getHeight() {
155+
return height;
156+
}
157+
158+
public void setHeight(Integer height) {
159+
this.height = height;
160+
}
161+
162+
public Integer getWeight() {
163+
return weight;
164+
}
165+
166+
public void setWeight(Integer weight) {
167+
this.weight = weight;
168+
}
169+
}
170+
}
Collapse file
+16Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package com.learnjava.optimization;
2+
3+
/**
4+
* 优化工具类例子
5+
*
6+
* @author lhy
7+
* @date 2021/7/20
8+
*/
9+
public class OptimizeUtilDemo {
10+
11+
// 超快深拷贝工具类BeanCopier
12+
private BeanCopierDemo beanCopierDemo;
13+
14+
// Caffeine Cache
15+
16+
}

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.