Zhang's Wikipedia

玩就玩大的

编写高质量代码 —— 异常退出条件的判断

注意,布尔表达式的先后顺序,有时不可以交换if (null == instance || instance.isEmpty()) 0. 常见异常退出条件 参数为空; 表示长度,表示索引的整型为负数,或者超出待索引数组或容器的范围; 1. String 的 startsWith 函数首先来看 Str...

2017-10-22 19:52:35

阅读数:232

评论数:0

Eclipse 插件使用

1. AmaterasUML:UML 类图(class diagram) 注意这里是先编写好代码,通过插件根据代码逻辑关系生成类图;安装AmaterasUML前,需要先安装 GEF,采用 eclipse 在线安装方式安装(即【help】⇒ 【Install new softwares】⇒ 点击...

2017-10-21 22:36:27

阅读数:200

评论数:0

Java 并发 —— volatile 关键字

volatile 修饰变量等于向编译器传达如下两层含义: 保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的。 禁止进行指令重排序。 volatile 关键字定义了读写发生的次序: 对一个变量(被 volatile 修饰的变量)的写操作先...

2017-10-14 22:30:48

阅读数:180

评论数:0

日志的打印 —— Java 支持

1. java.util.logging.Logger 日志级别(logLevel) OFF,Integer.MAX_VALUE SEVERE,1000 WARNING,900 INFO,800 CONFIG,700 FINE,500;FINER,400;FINEST,300 ALL,Int...

2017-10-14 22:14:02

阅读数:345

评论数:0

编码 —— PCM 编码

PCM:Pulse Code Modulation,脉冲编码调制; 1. 无损编码 PCM约定俗成了无损编码,因为PCM代表了数字音频中最佳的保真水准,并不意味着PCM就能够确保信号绝对保真,PCM也只能做到最大程度的无限接近。 计算一个 PCM 音频流的码率: 采样率值×采样大小值×声道数 b...

2017-10-14 20:06:17

阅读数:497

评论数:0

异或运算的研究

无进位的二进制加法即为异或运算(xor);

2017-10-14 18:08:53

阅读数:164

评论数:0

直流电与交流电

直流电:direct current(DC),交流电:alternating current(AC)交流电:电流方向随时间作周期性变化的; 大小和方向随时间做周期性变化;

2017-10-13 23:13:43

阅读数:289

评论数:0

编码 —— 差错检验

1. 差错检测 奇偶校验:数数; 奇偶校验是信息完好无损的必要条件,也即通过奇偶校验未必就表示信号无误,但未通过奇偶校验信号传输一定出现差错; CRC:Cycle Redundancy Check,循环冗余校验。以判断接收到的信号是否完好无损; 2. CRC(循环冗余校验)循环冗余校验同其他差错...

2017-10-13 22:10:32

阅读数:350

评论数:0

Java 高阶 —— 相等性比较

1. 包装类 所有的相同类型的包装类对象之间的值的比较,全部使用 equals 方法;对于 Integer a = ?,在 -128 到 127 范围内的赋值,Integer 对象是在 IntegerCache.cache 产生,便会复用已有对象,该区间内的 Integer 值可以直接使用 == ...

2017-10-11 22:20:04

阅读数:201

评论数:0

常见空指针异常及其避免

出现在任何一个位置上的对象引用都有可能为 null,在进行访问,赋值,取值,类型转换等操作时,首先判断该对象是否为 null,否则极易抛出空指针异常; map.get(key) ⇒ 就有可能 key 不在 map 中; 避免的方法也十分简单,对返回值进行判断; 如果一个函数的返回值为对象的引用,...

2017-10-11 22:12:09

阅读数:1520

评论数:0

Linux 命令行 Tricks

区分文件和目录: ls -F ls -F -R:递归显示目录 仅改变文件的修改时间,而不修改文件的内容: touch filename; 使用 file 命令查看文件类型: ASCII text directory shell script 0. 常用 tricks 仅显示目录...

2017-10-11 20:49:42

阅读数:176

评论数:0

Java 高阶 —— try/catch

// try catch 在 for 循环外 try { for(int i = 0; i < max; i++) { String myString = ...; float myNum = Float.parseFloat(myStri...

2017-10-11 20:25:30

阅读数:204

评论数:0

Java 高阶 —— native 关键字与 JNI

1. JNIJava中JNI的使用详解第一篇:HelloWorld JNI:Java Native Interface,Java 本地接口(或本机接口,更具体地讲叫本地编程接口),其提供了若干 API 以实现 Java 与其他语言的通信(主要是 C/C++)。使用 java 与本地已编译的代码交互...

2017-10-11 19:48:13

阅读数:217

评论数:0

编程模式(schema) —— 表驱动法(table-driven)

使用表驱动法,而非繁琐冗长的 if/else, switch case(本身也代表一种代码坏味道),也是替身编程质量的重要手段, 表驱动法是一种编程模式(schema)—— 从表里面查找信息而不使用逻辑语句(if/else, switch/case)。事实上,凡是能通过逻辑语句来选择(路由,分发)...

2017-10-10 23:38:31

阅读数:175

评论数:0

MAC 地址解析

MAC 地址的前三个字节代表厂商; 00:50:56:vmware 公司 00:0c:29:vmware 公司

2017-10-09 23:30:36

阅读数:1055

评论数:0

TCP/IP 协议 —— ARP

通过 ARP 广播获得对方的 MAC 地址;地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。 1. 特点 ARP 不能跨子网(子网 subnet 通过子网掩码 subnet mask 定义)

2017-10-09 23:10:13

阅读数:195

评论数:0

局域网 —— VLAN

0. network 简单分类 LAN:Local Area Network,局域网; WLAN:Wireless LAN(Local Area Network), VLAN:Virtual LAN(Local Area Network), VPN:Virtual Private Network...

2017-10-09 23:04:53

阅读数:156

评论数:0

scala 基础 ——关键字与特殊符号

1. 开发人员个人喜好 Python:大蟒蛇; Java:爪哇岛, Tomcat:公猫 2. 自嘲 apache:a patchy server, 3. 首字母与缩略 caffe: matlab:matrix laboratory

2017-10-09 22:17:13

阅读数:265

评论数:0

架构设计 —— 性能选型、高可用

1. httpd d:daemon,守护,后台; httpd 是 Apache超文本传输协议(HTTP)服务器的主程序。被设计为一个独立运行的后台进程,它会建立一个处理请求的子进程或线程的池。通常,httpd**不应该被直接调用**,而应该在类 Unix 系统中由 apachectl 调用,在...

2017-10-09 22:13:39

阅读数:152

评论数:0

字面量(literal)与 C 语言复合字面量(compound literals)

在计算机科学中,字面量(literal)是用于表达源代码中一个固定值的表示法(notation)(字面量是相对变量常量等定义的,无论是常量还是变量,其值在某一时刻总是确定的,只是变量可以反复赋值、刷新等,然而在运行时,编译期,总是有值的) 。几乎所有计算机编程语言都具有对基本值的字面量表示,诸如:...

2017-10-04 13:12:32

阅读数:702

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭