摘要:
Java的反射机制允许程序员在执行期借助于Reflection API取得任何类的内部信息,并能操作对象的属性和方法,在各类框架中应用非常广泛。这一期是关于反射内容的笔记,包含Class类、Field类、Method类、Constructor类及相关方法。 阅读全文
摘要:
1. Set接口基本介绍 Set是无序集合(添加和取出的顺序不一致,但取出的顺序是固定的),没有索引 不允许重复元素,所以最多包含一个null JDK API中Set接口的实现类有: Abstract, ConcurrentHashMap.KeySetView, ConcurrentSkipList 阅读全文
摘要:
集合的理解和好处 数组一旦定义,长度即固定,不能修改。要添加新元素需要新建数组,然后循环拷贝,非常麻烦 集合可以动态保存任意多个对象,使用比较方便 提供饿了一系列方便的操作对象的方法:add、remove、set、get等 使用集合添加、删除新元素的示意代码,简洁明了 集合主要是两组(单列集合,双列 阅读全文
摘要:
实现一个简单的UDP通信程序,仅作为笔记使用 网络编程中有三要素:IP、端口号和通信协议,分别用来确定对方在互联网上的地址、指定接受数据的软件和确定数据在网络中传输的规则。 IP地址 IP地址分为IPv4地址和IPv6地址,这里不做讨论。 IPv4地址中分为公网地址(万维网使用)和私有地址(局域网使 阅读全文
摘要:
lambda表达式在jdk1.8引入,属于函数式编程,可以在特定的场景中省去很多没有意义的代码,只留下核心逻辑,使代码看起来更简洁。但刚接触lambda表达式并不好理解,这篇笔记展示了从内部类简化到lambda表达式的逻辑,有助于理解lambda表达式。 阅读全文
摘要:
静态代理可以在不改变原有代码的情况下,增加新的功能和操作,对原有对象进行扩展。 静态代理要求真实对象和代理对象都实现同一个接口,由代理对象代理真实角色的接口实现,并在实现前后增加新的操作。 public class StaticProxy{ public static void main(Strin 阅读全文
摘要:
Java原生支持多线程,主要通过以下四种方式实现多线程: 继承Thread类 实现Runnable接口 实现Callable接口 线程池 继承Thread类 通过创建Thread类的子类,并重写run()方法,通过调用start()方法启动线程。 public class TestThread ex 阅读全文
摘要:
这里介绍3种布局: FlowLayout 流式布局 BorderLayout 边界布局 GridLayout 网格布局 FlowLayout /*MyFrame定义见 Java笔记9,这里添加了事件监听方法*/ public class TestFlowLayout { public static 阅读全文
摘要:
仅作为笔记 GUI继承体系图 Frame创建 public class Test{ public static void main(String[] args){ //新建Frame Frame frame = new Frame("This is frame title"); //设置可见性 fr 阅读全文
摘要:
异常的简单分类 检查性异常:最具代表性的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的。例如用户要打开一个不存在的文件,一个异常就发生了,这些异常在编译时不能被简单的忽略。 运行时异常:运行时异常是可能被程序员避免的异常,与检查性异常相反,运行时异常可以在编译时被忽略。 错误(error 阅读全文