让我们学习一下Java

整体的形象

我偶然发现了这个网站,读了一下发现讲解非常清晰易懂,所以我就自己介绍给大家了。

在平时进行Spring系列系统的维护工作,跳过安装步骤,对我来说大约需要10个小时的课程量。如果能够毫不费力地阅读英文,可能会更快完成。

首先从这里开始

以下的两个可以跳过的是为了环境设置而准备的:
「下载与安装Java指南」
「如何在Linux(Ubuntu)中下载与安装Java」

以下的五个,只需要在感兴趣时浏览即可:
「Groovy脚本入门教程」
「C++与JAVA:有何区别?」
「Java与C# – Java和C#的10个关键区别」
「Java与Scala:有何不同?」
「Java编程入门教程PDF」

如果跳过环境配置的话

如果你的电脑容量快不够了,或者其他类似的情况,就在网上搞定吧。2
https://www.mycompiler.io/new/java

如果在这里使用的话,请将示例代码的类名更改为”Main”。
否则无法运行,所以请注意。

class Demo {
 public static void main(String args[]){
     System.out.println("Hello World");
 }
}

请将以下内容改写成中文:只需要提供一种选项:
↓↓↓

// DemoからMainに変更
class Main {
 public static void main(String args[]){
     System.out.println("Hello World");
 }
}

为什么这个网站

尽管这个网站的英语很流畅,但语法并不复杂。
由于将来要进行开发,因此熟悉英文是必要的,这反而很合适。
当然,也可以大量使用谷歌翻译。

虽然有很多很好的文章,但偶尔会有代码缩进错误,或者图片编辑粗糙,挺好笑的w3

特别喜欢的是讲座的顺序安排。
首先,程序是如何在电脑上运行的呢?
虽然有很多种语言,为什么选择Java呢?诸如此类的问题。
通过逐步解答疑问的方式,容易理解。

我认为这是强调只传达在那个时刻所需要的事情。

这里并没有解释基本的语法,如if和for等,而是通过示例代码来展示。你可以试着运行示例代码,从结果中学习它的作用。

引起了我的兴趣的新闻报道

下面是我个人觉得有益或感兴趣的事物。

静态变量

static在类被创建时只被生成一次。
即使不进行实例化也会被初始化。

堆栈和堆

堆…对象
栈…方法、局部变量、引用变量
代码…字节码(程序)
静态…静态数据、静态方法

Java 的 switch 语句

听说如果循环次数较多,可以比嵌套的if~else语句更快地进行处理。

Java中的多线程

以下是几个在线工具,可以用于在线学习和参考Java多线程编程的知识:
– “https://www.guru99.com/multithreading-java.html”
– “https://docs.oracle.com/javase/jp/8/docs/api/java/lang/Thread.html”

线程不会分配单独的内存空间。
但是因为线程是独立的,所以即使发生异常也不会影响其他线程。

唯一我不明白的是以下的行为:尽管调用了setPriority方法,但得到的结果却是5。虽然在guru99和oracle上都没有写明会有这样的操作,但根据验证结果来看,对于已经进入TERMINATED状态的线程调用setPriority()方法无论设置什么值都会被忽略。

public class Main implements Runnable {
    @Override
    public void run() {
    }
    public static void main(String[] args) {
        Thread guruthread1 = new Thread();
        guruthread1.start();
        try {
            guruthread1.sleep(1000);
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        guruthread1.setPriority(1);
        int gurupriority = guruthread1.getPriority();
        System.out.println(gurupriority);
        System.out.println("Thread Running");
  }
}
5
Thread Running
public class Main implements Runnable {
    @Override
    public void run() {
    }
    public static void main(String[] args) {
        // CHECK DEFAULT PRIORITY
        System.out.println("MIN:" + Thread.MIN_PRIORITY);
        System.out.println("NORMAL:" + Thread.NORM_PRIORITY);
        System.out.println("MAX:" + Thread.MAX_PRIORITY);

        Thread guruthread1 = new Thread();

        System.out.println("STATE/PRIORITY:" + guruthread1.getState() + "/" + guruthread1.getPriority());
        guruthread1.setPriority(1);
        System.out.println("STATE/PRIORITY:" + guruthread1.getState() + "/" + guruthread1.getPriority());

        guruthread1.start();

        try {
            guruthread1.setPriority(2);
            System.out.println("STATE/PRIORITY:" + guruthread1.getState() + "/" + guruthread1.getPriority());

            guruthread1.sleep(1000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

        guruthread1.setPriority(3);
        System.out.println("STATE/PRIORITY:" + guruthread1.getState() + "/" + guruthread1.getPriority());

        System.out.println("Thread Running");
  }
}
MIN:1
NORMAL:5
MAX:10
STATE/PRIORITY:NEW/5
STATE/PRIORITY:NEW/1
STATE/PRIORITY:RUNNABLE/2
STATE/PRIORITY:TERMINATED/2
Thread Running

使用Gson和JAXB将JSON转换为XML:JAVA示例。

哦,原来有这样一个库啊。
https://github.com/google/gson

如何在Java中使用递归反转一个字符串

哇哦,Java的String类没有自带的reverse()方法吗…。
在示例中使用了递归,但通常我们会用for循环来反向遍历吧。

String myStr = "Guru99";
String reverseStr = "";

for(int i = myStr.length() - 1; i > -1; i--){
    reverseStr += myStr.charAt(i);
}

System.out.println("The reversed string is: " + reverseStr);

但是这个问题,因为-1让人感觉很不舒服,所以我打算从数组中使用Collections.reverse(),但是在Java中却非常困难。

这应该是最佳解决方案吧。

String myStr = "Guru99";

StringBuffer sb = new StringBuffer(myStr);
String reverseStr = sb.reverse().toString();

System.out.println("The reversed string is: " + reverseStr);

2020年最好的20个Java开发工具

我发现了一个很酷的东西- Groovy。不知道用”Java的工具”这种表达方式可以吗?哈哈。

Java Spring 教程

Spring是一个轻量级的框架,可以被看作是一个框架的框架,因为它提供了对各种框架的支持,如Hibernate,Struts,Tapestry,JSF等。

轻量级,是吗…?
虽然关于Spring的概念总结得不错,但光看这篇文章还是不太清楚如何使用Spring进行开发。
对于Spring来说,官方文档可能更好,但因为还需要用到git之类的工具,对于初学者可能有点难度。
https://spring.io/guides/gs/spring-boot/

JasperReports 教程

哦,这是个报表制作工具啊。
以前我只用过日本厂商开发的收费工具,所以不太了解。

如果有人问我如何学习Java,我会给他们发送一个URL链接。

很多人都因为低价电脑的eMMC容量不足而困扰,或者根本不知道如何设置电脑!对于这个级别的人来说,很多人在这个地方遇到困难。

我用画图工具非常努力地完成了这个任务,充满了成就感。

bannerAds