记录

正在加载古诗词……

JDK 的 jpackage 早期预览版

Java 应用新的打包方式  2019年11月11日

在 Windows 测试

jpackage --type exe --name javafx-library --description "Demo of jpackage" --vendor "Zhao Wentao" --app-version 0.0.1 --input input --dest output --main-jar app.jar --win-shortcut --win-menu

需要 Wix Toolsets

阅读更多📰

Java 多线程编程

回顾 Java 多线程编程的基础知识  2019年11月7日

多线程编程

Java 的线程模型

线程的优先级
线程同步问题
线程的消息机制
Thread 类 和 Runnable 接口
阅读更多📰

Java Lambda 表达式

深入理解 Lambda  2019年11月6日

Lambda Expressions

Introducing Lambda Expressions

Lambda Expression 基础
函数式接口
一些函数表达式例子

演示一个简单的 Lambda 表达式

// Demonstrate a simple lambda expression. 
 
// A functional interface. 
interface MyNumber { 
  double getValue();  
}

使用 Lambda 表达式

阅读更多📰

Java 泛型回顾

深入理解泛型  2019年11月4日

Generics

JDK 1.5 版本开始引入,加强了类型安全(Type safety),强化了语言本身,更加强化了集合框架(Collections Framework)。Java 8 开始加入 Lambda、Stream 更加进一步增强了语言的表达能力。

什么是泛型?

泛型(Generics)意思是参数化类型(Parameterized types)。泛型允许在创建类、接口和方法的时候,以提供参数的形式指定其能操作的数据类型。它的对象是类、接口、方法。这三者都可以泛型化。

在没有泛型特性之前,可以通过 Object 类实现泛型编程,但是不能保证类型安全。

阅读更多📰

回顾 protected 访问修饰符

重读一下 OCA Guide 访问控制符内容  2019年11月2日

使用 protected 访问控制符

这是基础内容了,但是不能轻视,越基础越要清晰理解。

阅读更多📰

回顾 Maven 的一些基本操作

记录一下方便以后查看  2019年10月31日

使用 Maven 创建最简单的项目

在安装好了 Maven 之后,可以在命令行窗口输入以下命令创建一个简单的 Maven 项目:

mvn archetype:generate -DgroupId=io.zwt.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false

可以看到结果生成了一个目录为 my-app 的项目:

阅读更多📰

响应式Spring Boot系列教程1

Kotlin REST服务端  2019年10月31日

Posted on October 28, 2019 by Trisha Gee

原文由 Trisha Gee 在当地时间2019年10月28日发布在 INTELLIJ IDEA BLOG

这个月(2019年10月)我在 SpringOne Platform(大会)做了一个现场代码演示,展示了如何构建一个 Spring Boot 应用,用来显示实时(股票)价格,用到了 Spring(很明显),Kotlin 还有 JavaFX。这个代码演示有录像,是一个时长 70 分钟的视频,不过我觉得作为一系列更简短的视频配以博客文章会更加容易消化,可以更慢、更详细地介绍每一步。

这是第一步:使用 Kotlin 创建一个响应式 Spring Boot 服务。

这篇博文包含一个视频演示一步步操作过程和一个文字版的操作过程(从视频的讲稿演变而来)给那些更偏好文字版的人。这个教程是我们构建一个完整的使用 Kotlin 写的 Spring Boot 应用作后端, Java 写客户端以及一个 JavaFX 写的用户界面的其中一些步骤。

教程的第一步是创建一个 Kotlin 版的 Spring Boot 应用,作为应用程序的后端。我们将会创建一个 REST 服务,可在后面的教程中接入。

阅读更多📰

OCP 考试大纲

1Z0-809 官方考点  2019年10月30日

Exam Objectives

考点内容见这个链接

Java Class Design

  • Implement encapsulation
  • Implement inheritance including visibility modifiers and composition
  • Implement polymorphism
  • Override hashCode, equals, and toString methods from Object class
  • Create and use singleton classes and immutable classes
  • Develop code that uses static keyword on initialize blocks, variables, methods, and classes
阅读更多📰

OCA 回顾与评价

备考参考书籍、软件,还有考试体验  2019年10月25日

背景

大学是软件工程专业,大一专业课先学 C 语言,接着是C语言的数据结构。大二分方向,C++ 和 Java 两个方向。C++ 作为我入门面向对象编程的语言,学完大学的 C++ 课程,主要实践就是用 Qt 写了个简单的数据库课程设计,之后就没有怎么用了,荒废掉了。 C 语言还因为学习微机原理(51 单片机)重新拾起来了一段时间。之后因为那段时间喜欢折腾一些硬件所以也开始玩树莓派,树莓派用 Python 比较多,所以又稍微接触了一下 Python 的基础。到后来因为组队参加比赛,开始接触 Android 编程,那时候 Android 还未开始用 Kotlin, 就开始学习,边学边开发。后来学校的课程也有 Java Web,和 Android 。在做课程设计的过程就开始使用 Spring Boot + AngularJS (那时候用的是 1.x),写一下后端 REST API,之后觉得 Java Web 后端开发是我想做的方向。可以因为之前学得比较杂,还因为 C/C++ 硬件背景,让我在情感上有点不重视 Java,所以学习投入程度不够。后果就是有时候看代码,写代码的时候觉得很吃力,一种似懂非懂的状态,模糊不清晰,好像大概知道这是做什么功能,但是要清晰地表达出来就有困难了。 要摆脱这种状况,所以多看书,多写代码。参加 Oracle Java 认证考试的作用就是可以驱动学习,有了这个目标,就会认真深入学习,这就是考试的意义。

阅读更多📰

ETS Test 2 回顾

Test 2 76% (53/70) 正确率通过  2019年10月23日

Enthuware Test Studio Test 2 错题回顾,题目编号为测试系统的编号。

2.Given:

package loops;
public class JustLooping {
    private int j;
    void showJ(){
        while(j<=5){
            for(int j=1; j <= 5;){
                System.out.print(j+" ");
                j++;
            }
            j++;
        }
    }
    public static void main(String[] args) {
        new JustLooping().showJ();
    }
}

What is the result?
You had to select 1 option

阅读更多📰