
Java基础
介绍Java的基础知识
Jason_Flash
这个作者很懒,什么都没留下…
展开
-
Java的两种线程同步方法
Java的两种线程同步方法基本概念synchronizedLocksynchronized与Lock对比基本概念当多个线程同时操作一个可共享的资源时会出现线程安全问题,将会导致数据不一致,因此使用同步锁来防止该操作执行完之前不许被其他线程执行,从而保证了该变量的唯一性和准确性。使用synchronized和使用Lock是两种Java常用的实现线程同步方法。synchronized(1)介绍使用synchronized关键字,可以修饰普通方法、静态方法,以及语句块。由于java的每个对象都有一个内置原创 2020-06-08 10:54:48 · 580 阅读 · 0 评论 -
Java观测线程状态
Java观测线程状态简介示例代码简介Java中的线程状态分为以下6种,可以通过getState()方法获取线程的当前状态:1.初始(NEW):新创建了一个线程对象,但还没有调用start()方法。2.运行(RUNNABLE):Java线程中将就绪(ready)和运行中(running)两种状态笼统的称为“运行”。线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获取CPU的使用权,此时处于就绪状态(ready)。就绪状原创 2020-05-25 11:35:04 · 369 阅读 · 0 评论 -
Java发送TCP消息
Java发送TCP消息Server端示例代码Client端示例代码测试示例代码Server端示例代码这里建立一个端口号为9999的ServerSocket,等待客户端连接,在收到客户端消息时打印出消息:import java.io.*;import java.net.ServerSocket;import java.net.Socket;public class TestTcpServer { public static void main(String[] args) { Serv原创 2020-05-20 16:40:36 · 1256 阅读 · 0 评论 -
Java IO流的基本用法
Java的IO流IO基本概念InputStream基本概念示例代码OutputStream基本概念示例代码IO基本概念IO就是指Input/Output。在Java中,Input是将外部的文件内容内容读到内存,并且以Java提供的某种数据类型表示;而Output则是将Java表示的数据格式输出到文件中。InputStream基本概念InputStream是Java标准库提供的最基本的输入流,在java.io包中。InputStream是一个抽象类,int read()是它最重要的一个方法。示例代原创 2020-05-19 15:36:57 · 267 阅读 · 0 评论 -
Java的Lamda表达式
Java的Lamda表达式Lamda表达式的作用Lamda表达式的基本格式示例代码Lamda表达式的作用1.避免匿名内部类定义过多。2.简化代码,只留下核心的逻辑。Lamda表达式的基本格式Lamda表达式的基本格式有以下3种:(params) -> expression[表达式](params) -> statement[语句](params) -> {statements}[多个语句]示例代码这里使用lamda表达式实现了PlayGame接口的方法,简化了代码。p原创 2020-05-13 17:53:25 · 381 阅读 · 0 评论 -
Java守护线程(附示例代码)
Java守护线程基本概念示例代码基本概念Java的线程分为用户线程和守护线程,虚拟机必须保证用户线程执行完毕,而不需要等待守护线程执行完毕。守护线程主要用于后台记录操作日志,监控内存,垃圾回收等功能。通过setDaemon(true)可以将线程设置守护线程。示例代码这里启动一个守护线程和一个用户线程,运行代码可以看到,在用户线程运行结束后,程序会中止,守护线程并不会一直执行。public class TestDaemon { public static void main(String[] ar原创 2020-05-13 15:45:49 · 282 阅读 · 0 评论 -
Java线程优先级(附示例代码)
Java线程优先级基本概念线程优先级的取值范围线程优先级相关方法示例代码基本概念Java提供一个线程调度器来监控程序中启动后进入就绪状态的所有线程,线程调度器按照优先级决定执行哪个线程。(注意:优先级低只是意味着线程获得CPU调度的概率低,并不是优先级高的线程一定会先被调用)线程优先级的取值范围Java线程优先级使用数字表示,取值范围为1~10,默认优先级为5。Thread.MIN_PRIORITY = 1;Thread.MAX_PRIORITY = 10;Thread.NORM_PRIOR原创 2020-05-13 15:01:28 · 258 阅读 · 0 评论 -
Java多线程下载图片
Java多线程下载图片添加commons-io插件编写多线程下载图片代码添加commons-io插件这里使用apache的commons-io包下的FileUtils工具类进行图片下载(官方API文档)。首先下载commons-io插件包并解压(下载地址):选中project,右键新建一个名为lib的文件夹:将下载好的commons-io插件包中的commons-io-2.6.jar和commons-io-2.6-sources.jar两个文件,粘贴到新建的lib文件夹中:选中common原创 2020-05-12 17:14:00 · 749 阅读 · 0 评论 -
Java创建线程的两种方法(附示例代码)
Java创建线程的两种方法方式一:继承Thread类方式二:实现Runnable接口方式一:继承Thread类主要步骤为:继承Thread类,重写run()方法,创建线程对象并调用start()方法开启线程。以下为示例代码:public class TestThread1 extends Thread { public void run() { //重写run()方法 for(int i = 0; i < 1000; i++) { System.out.println("打王者"原创 2020-05-12 14:33:52 · 403 阅读 · 0 评论