Java review
衡与墨
福建98生人,爱好GO、Java、JS、TS、Python、Rust、C语言,前后端均精通,熟悉linux、docker、k8s使用,擅长Vue、Java Web开发、GO 微服务和web开发,兴趣广泛,爱好开源,目标是2025年前具有百万级别系统的架构师能力,我是一个追求纯粹的程序员,欢迎工作邀请
展开
-
Java review(17) 枚举
枚举的遍历、下标值转枚举实例 enum Week1 { MON, TUE, WED, THU, FRI, SAT, SUN } @Test public void test1() throws Exception { // for each 遍历 for (Week1 week : Week1.values()) { ...原创 2019-11-29 17:52:09 · 155 阅读 · 0 评论 -
Java review(16) ... 可变参数列表
可变参数列表是Java的语法糖之一: static void a(String... strings) { System.out.println(Arrays.toString(strings)); } @Test public void test1() throws Exception { a(); a("1")...原创 2019-11-29 15:47:34 · 165 阅读 · 0 评论 -
Java review(15) finalize和gc
Java 有析构方法吗?从客观角度来说真的没有。但是有一个叫finalize的方法,字面意义它叫做“结束”方法,我不认为它算析构方法,和C++比,它有一些显著的特点:它只在该对象被垃圾回收时才会调用它被调用了并不代表它就会被回收它只会被调用一次java的垃圾回收有一个显著特点,那就是:在内存不足时,它才开始回收。因此finalize什么时候调用?这很难说。和C++不同,C++析构函数...原创 2019-11-29 14:52:18 · 258 阅读 · 0 评论 -
Java review(14) 各式内部类总结
静态内部类:静态内部类可以声明任意类型的成员和方法,和外部类无异静态内部类无法使用外部的非静态成员、非静态方法但是可以任意使用外部的静态成员和静态方法非静态内部类非静态内部类不能声明静态成员和静态方法非静态内部类可以声明非静态成员和非静态方法非静态内部类可以声明 常量非静态内部类可以任意使用外部的成员和方法,静态和非静态的都可以方法内部类方法内部类不能声明为静态...原创 2019-11-29 13:12:27 · 146 阅读 · 0 评论 -
Java review(13) Java有goto吗
goto不知道为什么这么讨人厌呢?我也不明白,大学时c语言老师就严厉反对我们使用goto。因此我也没怎么用过,有时候我在想这些最讨厌goto的人是不是曾经也是goto的重度使用患者,然后有一天他们的goto把他们的程序搞崩了,然后他们发现用goto写的程序他们自己也看不懂了…咱也不敢说,也不敢问。就说说java吧。我Java这么严谨的语言怎么可能有goto呢,当然是不可能有的。但是我们有br...原创 2019-11-29 10:56:12 · 122 阅读 · 0 评论 -
java review(12) == 和 equals 你真的懂吗
大家都知道,==是比较引用的地址,而equals是比较实例的具体成员,我们可以通过重载equals来实现自己的判断方法,但是 ==和equals其实是挺复杂的,请看下面这个示例: @Test public void test1() throws Exception { int a = 1; Integer b = a; // 1 ...原创 2019-11-29 09:50:06 · 205 阅读 · 0 评论 -
Java review(11) 多态实现养鸡场
/** * 鸡 */ class Chicken { void eat() { System.out.println(this + "吃饭了"); } void doSomething() { System.out.println(this + "琢人了"); ...原创 2019-11-28 17:52:17 · 503 阅读 · 0 评论 -
Java review(10) instanceof运算符 及 多态浅谈
instanceof故名思意:instance是实例,of是谁的,因此instanceof翻译为“xx是xx的实例”,它用于类型判断,语法是 对象 instanceOf 类名,返回true或false。 @Test public void test1() throws Exception { Object a = 1; // 类型判断不能用在基本...原创 2019-11-28 17:20:06 · 287 阅读 · 0 评论 -
Java review(9) 位运算
很少人会用Java写位运算吧,大部分人想到这么底层的东西会觉得可能只有c支持,但是Java的位运算和c基本是类似的。 @Test public void test1() throws Exception { Byte b1 = Byte.parseByte("-1110101", 2); System.out.println("b1: " + b1 + "...原创 2019-11-28 16:28:42 · 92 阅读 · 0 评论 -
Java review(8) 进制和浮点数的后缀
十六进制以0X开头,八进制以0开头,使用Integer对应的方法可以将数转换为不同进制的字符串输出 @Test public void test2() throws Exception { int i = 0x123; System.out.println("十六进制:" + i + ":" + Integer.toHexString(i));...原创 2019-11-28 15:34:59 · 339 阅读 · 0 评论 -
Java review(7) 成员初始化顺序
口说无凭,还是看测试:class B { B() { System.out.println("init B"); }}class C { C() { System.out.println("init C"); }}class D { D() { System.out.println("init st...原创 2019-11-28 14:54:02 · 111 阅读 · 0 评论 -
Java review(6) 成员默认值
Java在构造对象实例的时候会自动的将成员初始化,赋予默认值,其中分为基本类型、对象类型、静态类型三种成员的默认值,以下是一个测试例子:class A { // 基本类型 private boolean aBoolean; private byte aByte; private char aChar; private short aShort; p...原创 2019-11-28 14:17:27 · 162 阅读 · 0 评论 -
Java review(5) && 逻辑短路
&&和||是短路运算符,对于&&只要前一个值为假就会跳过后边的检验,对于&则会前后两个都进行判断。对于||只要前一个为真就会跳过后边的检验,对于|则会前后两个都会判断。 private boolean checkA() { System.out.println("check A"); return true; ...原创 2019-11-28 12:53:59 · 137 阅读 · 0 评论 -
Java review(4) Java 高精度类型 BigInteger、BigDecimal
BigInteger支持任意大小的整数 @Test public void test1() throws Exception { BigInteger bigInteger = new BigInteger(new byte[] {127, 0, 0, 0}); System.out.println(bigInteger); Sy...原创 2019-11-28 11:37:29 · 195 阅读 · 0 评论 -
Java review(3) Java类型转换
boolean 不能转换成其他类型,其他类型也不能转换成boolean其它基本类型之间可以任意进行强制转换@Test public void test1() throws Exception { // boolean 不能转换成其他类型,其他类型也不能转换成boolean boolean b = false; System.out....原创 2019-11-28 10:35:03 · 172 阅读 · 0 评论 -
Java review(2) Java哲学
Java语言哲学思想Java的设计目标:为程序员减少复杂性Java最强大的属性之一:Java有能力发现、显示和制服程序缺陷完全的应用Java:编码之外,更重要的是设计核心是面向对象:一切都是对象捕获每一个可能的异常:你必须try catch哪些可能出错的地方命名哲学:驼峰命名法+保持语义通过接口和封装实现Java世界的秩序和规范通过多态+泛型+反射实现动态特性待补充…...原创 2019-11-28 09:12:25 · 262 阅读 · 0 评论 -
Java review(1) Java特点
Java 有以下几个显著特点:Java是面向对象的,相比别的语言,它的面向对象更加纯粹。C++也实现了面向对象,却为了兼容C有一些不伦不类和晦涩。C#的出现则很大程度上是模仿Java。Java是编译+解释型语言,编译步骤将代码转化成了class文件,这是一种可以在Java虚拟机JVM上执行的字节码文件,有点类似于汇编文件。转化成class文件的步骤为编译,执行字节码文件则为解释。Java是...原创 2019-11-28 08:58:48 · 192 阅读 · 0 评论