Browse Source

提交并上传

main
Fuyuxinge 1 month ago
parent
commit
65507b2e08
  1. 31
      w8/kv.java
  2. 32
      w8/kv1.java
  3. 22
      w9/Article.java
  4. 15
      w9/HistoryCommand.java
  5. 1
      w9/zongjie.txt

31
w8/kv.java

@ -0,0 +1,31 @@
package w8;
public class Pair<K, V> {
private K key;
private V value;
public Pair(K key, V value) {
this.key = key;
this.value = value;
}
public Pair<V, K> swap() {
return new Pair<>(this.value, this.key);
}
public K getKey() {
return key;
}
public void setKey(K key) {
this.key = key;
}
public V getValue() {
return value;
}
public void setValue(V value) {
this.value = value;
}
}

32
w8/kv1.java

@ -0,0 +1,32 @@
package w8;
import java.util.HashMap;
import java.util.Map;
public class Cache<K, V> {
private final Map<K, V> cacheMap;
public Cache() {
cacheMap = new HashMap<>();
}
public void put(K key, V value) {
cacheMap.put(key, value);
}
public V get(K key) {
return cacheMap.get(key);
}
public void remove(K key) {
cacheMap.remove(key);
}
public void clear() {
cacheMap.clear();
}
public int size() {
return cacheMap.size();
}
}

22
w9/Article.java

@ -0,0 +1,22 @@
package w9;
import java.util.Date;
public class Article {
private String title;
private String content;
private String author;
private Date publishDate;
public Article() {}
public Article(String title, String content, String author, Date publishDate) {
this.title = title;
this.content = content;
this.author = author;
this.publishDate = publishDate;
}
public String getAuthor() { return author; }
public void setAuthor(String author) { this.author = author; }
public Date getPublishDate() { return publishDate; }
public void setPublishDate(Date publishDate) { this.publishDate = publishDate; }
}

15
w9/HistoryCommand.java

@ -0,0 +1,15 @@
package w9;
import java.util.ArrayList;
import java.util.List;
public class HistoryCommand {
private List<String> commandList = new ArrayList<>();
public void addCommand(String cmd) {
commandList.add(cmd);
}
public List<String> getHistory() {
return new ArrayList<>(commandList);
}
}

1
w9/zongjie.txt

@ -0,0 +1 @@
直接返回的List<Article>是引用传递,外部代码可直接修改集合内 Article 对象或增删元素,存在数据安全风险。其一,外部修改 Article 的标题、作者等字段,会直接篡改内存中原始数据,引发数据不一致;其二,外部可随意新增、删除集合元素,破坏数据完整性;其三,多线程场景下,共享集合无同步机制,易出现并发异常、脏数据。需返回集合副本或不可变集合,避免外部直接操作原始数据。
Loading…
Cancel
Save