Java学习笔记

以下为在下开始学习java的学习笔记,后期会进行整理

类名要与文件名相同

类 HelloWorld 是公共的,应在名为 HelloWorld.java 的文件中声明
public class HelloWorld

当命名一个public类时,保存时应该用和类名相同的名字保存,即要以HelloWorld 命名,要是不想改的话直接把public去掉就OK了。

String类

String类是唯一一个不需要new关键字来创建对象的类。使用的时候需要注意。
<code>String s = "Hello World!";</code>
判断字符串是否相等,必须使用方法equals,而==只能判断字符串是否保存在同一位置。
String类对象是不可变对象,然而,String类对象确实有编辑字符串的功能,比如replace()。这些编辑功能是通过创建一个新的对象来实现的,而不是对原有对象进行修改(类似的还有toUpperCase、toLowerCase、trim)。比如:
<code>s = s.replace("World", "Universe");</code>

synchronized关键字

线程同步

在多线程编程中,要尽力避免竞争条件(racing condition),即运行结果依赖于不同线程执行的先后。线程是并发执行的,无法确定线程的先后,所以我们的程序中不应该出现竞争条件。然而,当多任务共享资源时,就很容易造成竞争条件。我们需要将共享资源,并造成竞争条件的多个线程线性化执行,即同一时间只允许一个线程执行。
使用synchronized修饰方法。在Java中,同一对象的synchronized方法只能同时被一个线程调用。其他线程必须等待该线程调用结束,(余下的线程之一)才能运行。这样,我们就排除了竞争条件的可能。

关键代码

使用synchronized可以修饰一段代码,确保只有一个线程执行该段代码。使用方法如下:
<pre><code>
synchronized (syncObj) {
...;
}
</code></pre>
花括号中包含的是想要同步的代码,syncObj是任意对象。我们将使用syncObj对象中的计数器,来同步花括号中的代码。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,834评论 18 399
  • (一)Java部分 1、列举出JAVA中6个比较常用的包【天威诚信面试题】 【参考答案】 java.lang;ja...
    独云阅读 7,151评论 0 62
  • Java多线程学习 [-] 一扩展javalangThread类 二实现javalangRunnable接口 三T...
    影驰阅读 3,010评论 1 18
  • 曾经,我以为一切都不会离开我。可是,当这美好的一切离开我的时候,痛彻心扉。你会问我然后呢?然后!不会有然后了...
    遗忘好吗阅读 134评论 0 0
  • 冷风嗖嗖的钻进了竖起的衣领中,站在风雨中瑟瑟发抖。看着路上的行人匆匆经过经过在经过,神态各异的行人自管低头奔赴自己...
    晚亭小叙阅读 357评论 0 1