
知识点
在路上的咸鱼
~~~
展开
-
知识点拾遗:UDP传输数据最简单的java实现
知识点拾遗:UDP传输数据最简单的java实现创建最简单的UDP通信,首先是服务器端(接收方):package assignment;import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket;public class Server_udp { public static原创 2017-03-22 01:03:09 · 488 阅读 · 0 评论 -
java栈的实现
在《Java编程思想》,作者将Stack归类为legency code,并且不推荐java程序员用Stack来作为栈的实现。给出的理由主要是Stack继承了Vector,包含了Vector的一系列方法,破了栈的规矩,比如可以直接得到栈中间的值,这和栈的概念不符合。同时,作者推荐使用LinkedList—-这是非常令人费解的理由。原创 2017-08-20 16:55:00 · 435 阅读 · 0 评论 -
为什么是装饰模式而不是继承
装饰模式原创 2017-08-23 21:00:17 · 911 阅读 · 0 评论 -
Effective Java学习笔记 4 通过私有构造器增强不可实例化的能力
有些类不希望被实例化,比如一些工具类(只包含static方法和域),实例化没有任何意义。为了防止这样的类被实例化,不写构造函数是没有用的,因为默认的无参构造器(编译器自动生成)可以用。 同时,把类写成抽象类不可行。原因: 1. 继承之后可以实例化; 2. 更糟糕的是,还有可能让用户觉得这是为了继承设计的。 解决方案: 加上私有构造器,并在方法体内部抛出异常(不是必须但是有效);最好原创 2017-07-30 20:19:40 · 248 阅读 · 0 评论 -
RTTI学习笔记
RTTI is short for RunTime Type Information 。 三种方式 A.class a.getClass() Class.forName(A) Class.forName(A),A要有完整的包名。 Class的NewInstance()方法需要类有默认构造器。 建议使用.class的方式获取Class对象,简单,安全(编译时进行类型检查),高效(减少了方法调用)原创 2017-07-30 16:14:50 · 330 阅读 · 0 评论 -
Java类型转化
规则 整数默认是int型的,小数默认是float型的。 对于整形,包括char,在不丢失精度的情况下,jvm会自动进行类型转化,如果可能丢失精度,必须手动强制转化。 byte b1=1; //不会报错,虽然1是int,但是在不超过范围的情况下,会自动类型转化 byte b2=128; //会报错,因为128超过byte范围 byte b3=(byte)128; //不会报错,不过强制类型转原创 2017-07-12 21:17:04 · 210 阅读 · 0 评论 -
设置JTable每行的颜色
简单,实用,详细。争取一篇能用。 首先,JTable自身是没有提供方法改变每一行的前景色和背景色的。 所以必须自己动手:/** * 简单封装一下方法 * @param table 表格 * @param color 颜色列表 */ public static void setColor(JTable table,Color[] color) { try {原创 2017-05-26 03:07:10 · 7210 阅读 · 5 评论 -
重构二叉树
题目输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。解答先说思路,模拟手算的步骤。 在文中默认前序是pre[],中序in[] 重构二叉树第一件事就是找到root,也就是说,找到pre[0],然后构建一个节点,作原创 2017-05-04 00:40:11 · 707 阅读 · 0 评论 -
json不允许整数键
>>> import json >>> d = {1:2,2:3} >>> d {1: 2, 2: 3} >>> json.dumps(d) '{"1": 2, "2": 3}'原创 2019-04-21 13:09:31 · 707 阅读 · 0 评论