随笔分类 - JAVA学习日记
摘要:使用场景和功能: 用于对象存储(比如保存对象某种中间状态) 用于网络传输 序列化:是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据。 一般来说,对象的寿命通常随着生成该对象的程序的终止而终止,有时候需要把在内存中的各
阅读全文
摘要:好文: https://www.cnblogs.com/xiaomiganfan/p/5390252.html 原文作者推荐的推荐一本书:《SCJP Sun Certified Programmer for Java 6 Exam 310-065》 “这本书的作者是:Kathy Sierra 和 B
阅读全文
摘要:好文: https://www.cnblogs.com/skywang12345/p/3324788.html
阅读全文
摘要:try (PrintWriter writer = new PrintWriter("student.txt")) { writer.println("姓名\t语文\t数学\t英语\t总分\t"); for (Student s : set) { writer.println(s.getName()
阅读全文
摘要:JAVA的JDK文档中,TreeMap类有四种构造方法,下面我们讲述最常见的两类: 第一种: 第一种构造方法,创建对象时如果没有传入比较器,那么就按元素的自然顺序排序; 这里,元素的"自然顺序"是什么?其实答案就是,比较对象要实现 Comparable 接口, 自然比较的规则就是对象在实现Compa
阅读全文
摘要:由于JAVA中Map类是不继承Iterable接口,所以不能像其他Collection 数据结构那样,通过迭代器进行遍历;那么Map<K,V>类对象如何实现遍历呢? 我们先看JDK中怎么介绍,后面写代码说明; JDK文档中,其意大致就是通过Map.Entry<K,V> 接口,通过创建一个存储“键值对
阅读全文
摘要:作为例子的树长这样: package bstpractice; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class BstTest { public static void
阅读全文
摘要:1 package myqueue; 2 3 import mylinkedlist.MyLinkedList; 4 5 import java.util.NoSuchElementException; 6 7 public class myQueue <E>{ 8 private Node hea
阅读全文
摘要:先一篇泛型总结得很好的博客:https://segmentfault.com/a/1190000014120746 用双向链表实现LRU,要求可以指定缓存大小,并且可以存储任意类型的数据。 (要求用泛型,只需要实现添加方法即可)。分析:1.LRU实现 操作: 添加:是否存在?存在-删除-添加到表头;
阅读全文
摘要:一个LRU算法最简单的有如下的功能:这里我们先不考虑用哈希表做优化 实际上就是一个链表,通过链表来模拟实现 public class Linked { // 用链表实现一个LRU缓存 (大小为100),要求实现添加一个数据的方法。(自己定义节点类,存储的数据类型为int)。public static
阅读全文
摘要:总结Collection 概念: API: 增: boolean add(E e) boolean addAll(Collection c)//只要原集合发生修改,便放回true 删: void clear() boolean remove(Object o) boolean removeAll(C
阅读全文
摘要:在配置文件中,配置要的目标类(全类名,该类必须有无参构造方法),和目标方法(名称)(无参方法)。通过反射,调用目标类中的目标方法假设该类中一定有默认无参构造方法 1 package reflection; 2 3 import java.io.FileInputStream; 4 import ja
阅读全文
摘要:设计一个方法,该方法,能修改任意对象中,指定成员变量的值核心:field对象.set(obj,newValue) 1 package reflection; 2 3 import java.lang.reflect.Field; 4 import java.util.Arrays; 5 6 publ
阅读全文
摘要:自定义注解,该注解用来描述,方法运行所需的时间上限用long类型的数据表示时间,单位为ms;然后,自定义注解处理器,运行加了运行时间上限注解的方法,判断方法的运行时间,是否超出了注解中规定的时间上限,如果超过,则返回true,未超过返回false 1 package annotation; 2 3
阅读全文
摘要:案例模型分析: 基于TCP实现,一个Clinet(发送端)向,一个Server(接收端)上传图片文件的功能。要求,客户端上上传的图片路径,需要从配置文件.properties文件中读取 为了简化并可视结果:客户端和服务端,用本机ip上两个端口模拟即可; 定义Socket的时候,本机端口是OS随机分配
阅读全文
摘要:实现是基于UDP协议的的,两个进程(两个java程序)互相发送,并接受各自发送的数据的功能。两个包模拟通信的两个进程(人),由于是镜像代码,只贴出一个包中的代码,通信另一方只要做发送端口、ip的修改即可;代码顶层设计如下: package net.oneperson; import java.net
阅读全文
摘要:/*2. 创建2个线程,打印从0到99这100个数字,要求线程交叉顺序打印。 比如 线程1: 0 线程2: 1 线程1: 2 线程2: 3 线程1: 4 线程2: 5 注意,要求使用线程间通信的方式实现,即你打印一个数字,我打印一个数字,一直打印到99*/ package practiceagagi
阅读全文
摘要:分析下面代码: new Thread(new Runnable() { @Override public void run() { System.out.println("Runnable匿名子类的run方法"); } }) { @Override public void run() { Syste
阅读全文
摘要:package charreadandwrite; import java.io.*; //从磁盘上读取一个文本文件(如某个java源代码),分别统计出文件中英文字母、空格、数字字符的个数。(注意文本文件中的数字指的是数字字符!!!) public class CharDataRWTest { pu
阅读全文
摘要:练习1: 有这样的一个words数组,数组中每个字符串的格式为“词性:单词” String[] words = {"verb:eat","verb:drink","verb:sleep","verb:play","noun:rice","noun:meat","noun:hand","noun:ha
阅读全文

浙公网安备 33010602011771号