1. 常量可以使用const关键字创建只读的命名常量。常量名必须以字母、下划线或美元符开头,余下的部分可以包含字母、数字或下划线字符:const area_code = ‘515‘;不能通过赋值或重新声明来修改常量的值,常量必须被初始化成一个值。 JavaScript支持以下标准类型:Number(数值)String(字符串)Boolean(布尔)Symbol(ECMAScript 6中的新类型,符号)Object(对象)Null(空)Function(函数)Array(数组)Date(日期)RegExp(...
主要进行了数据通信的学习,很多概念在计算机网络中深入学习过,对知识有疏漏的人可以对OSI模型学习。 针对UDP和TCP进行通信代码学习。 UDP:/* * UDP协议发送数据: * A:创建发送端Socket对象 * B:创建数据,并把数据打包 * C:调用Socket对象的发送方法发送数据包 * D:释放资源 */public class SendDemo { public static void main(String[] args) throws IOException { // 创建发送端Socket对象 // DatagramSocket() Datagra...
目录一些java特性1. 函数式接口2.Stream流式计算JUC并发编程1. 基础知识2. Lock锁2.1 基本概念2.2 发电话发短信问题2.3 读写锁ReadWriteLock3.生产者消费者Lock版本3.1 Synchronized版:wait notify方法3.2 JUC版PC问题3.3 JUC版+4.集合类不安全4.1 List多线程不安全4.2 Set、Map不安全5.Callable接口的使用6.常用的辅助类6.1 CountDownLatch6.2 CyclicBarrier6.3 Semaphore(信号量)7.阻塞队列7.1 BlockingQueue的API7.2 Synchro...
多进程、多线程概念及作用多线程:指的是这个程序(一个进程)运行时产生了不止一个线程。多进程:计算机同时执行多个进程。多线程的作用:多进程的作用:什么是线程:多线程两种实现方法的步骤理解线程的run()以及start()方法什么时Runnable接口?多线程状态及其之间的切换。线程为什么需要调度线程调度原则为什么引入优先级?优先级高低?currentThread()/getName()/setName()方法线程的控制总框架Thread类的控制线程执行的方法什...
下面对上面说的三个辅助类进行一个总结: 1)CountDownLatch和CyclicBarrier都能够实现线程之间的等待,只不过它们侧重点不同: CountDownLatch一般用于某个线程A等待若干个其他线程执行完任务之后,它才执行; 而CyclicBarrier一般用于一组线程互相等待至某个状态,然后这一组线程再同时执行; 另外,CountDownLatch是不能够重用的,而CyclicBarrier是可以重用的。 2)Semaphore其实和锁有点类似,它一...
1 重点去重,跳过,截断动态分页实战演示之 取商品的名称和总价打印:(stream流转化成list的方法)(打印两个属性) 2 实战演示之去重(distinct): @Test/*** distinct 去重* 打印Sku的目录分类*/publicvoid distinctTest(){list.stream()//注意map和distinct的使用 .map(Sku::getSkuCategory).distinct().forEach(item->System.out.println(JSONObject.toJSONString(item,true)));} 打印日志...
林炳文Evankaka原创作品。转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要讲了Java中CopyOnWriteArrayList 、CopyOnWriteArraySet的源码分析一、CopyOnWriteArrayList源码分析CopyOnWriteArrayList在java的并发场景中用得其实并不是非常多,因为它并不能完全保证读取数据的正确性。其主要有以下的一些特点:1、适合场景读多写少2、不能保证读取数据一定是正确 的,因为get时是不加锁的3、add、remove会加锁再来...
今天去面试,面试官问了一个设计模式---单例模式,这也是我们最常用的设计模式,由于面试时间有限,我只是把如何使用泛型编程实现单例模式大致意思说了一下。现在主要说一下如何用泛型编程实现单例模式,使用少量代码,实现一劳永逸的方法。先来看一下我们简单的object:package singleton;/***
*
* @author Linux一叶
* 只是为了测试时使用
*
*/
public class People {/*** * 属性变量 * age 年龄 * name 名字 */private int ...
.boom-extension-active { cursor: crosshair !important }
.boom-extension-active *:hover { cursor: crosshair !important }
.boom-extension-hovered-element { outline: 2px solid rgba(130, 170, 210, 0.6) !important }
.boom-extension-expanded-element { background: rgba(0, 0, 0, 0) !important; border: 0 !important; float: none !important; margin-left: auto !important; margin-right: auto !important; paddin...
对于Java Socket编程而言,有两个概念,一个是ServerSocket,一个是Socket。服务端和客户端之间通过Socket建立连接,之后它们就可以进行通信了。首先ServerSocket将在服务端监听某个端口,当发现客户端有Socket来试图连接它时,它会accept该Socket的连接请求,同时在服务端建立一个对应的Socket与之进行通信。这样就有两个Socket了,客户端和服务端各一个。 对于Socket之间的通信其实很简单,服务端往Socket的输出流里面写东...
finalclass A{ // 使用final定义类,不能有子类};
class B extends A{ // 错误,不能被继承
};class A{publicfinalvoid print(){ // 使用final声明的方法不能被覆写System.out.println("HELLO") ;}
};
class B extends A{publicvoid print(){ // 错误,不能被覆写System.out.println("MLDN") ;}
};class A{privatefinal String INFO = "INFO" ; // 声明常量publicfinalvoid print(){ // 使用final声明的方法不能...
javascript中的基本数据类型包括:Undefined, Null, Boolean, Number, String 5种数据类型1. Undefined 类型 (只有一个值 undefined, 常被用来表示未初始化的变量)如果一个变量未进行初始化则它的初始值为undefined, 数据类型为Undefined var myVar; myVar === undefined // return true typeof myVar === ‘undefined‘ // return true函数的参数列表中,未传入的实参的形参其值为undf...
单选按钮就是在给出的多个显示信息中指定选择一个,在swing中可以使用JRadioButton完成一组单选按钮的操作。package com.beyole.util;import java.awt.Container;
import java.awt.GridLayout;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;import javax.swing.BorderFactory;
import javax.swing.ButtonGroup;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JRadioButt...
一、进程和线程的概念进程:一次程序的执行称为一个进程,每个 进程有独立的代码和数据空间,进程间切换的开销比较大,一个进程包含1—n个线程。进程是资源分享的最小单位。线程:同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器(PC),线程切换开销小,线程是CPU调度的最小单位。多进程:指操作系统能同时运行多个任务(程序)。多线程:指同一个程序中有多个顺序流在执行,线程是进程内部单一控制序列流。二、多...
需要安装的软件1、java jre2、java JDK EE版本3、UltraEdit网站:http://www.oracle.com/technetwork/java/javase/downloads/index.html本人安装java目录为C:\Java\jdk1.8.0_05\bin。javac----编译器java----字节码解释器jar---jar包压缩使用命令行javac编译时需要使用 set path=C:\Java\jdk1.8.0_05\bin设置编译器所在路径,使cmd可以找到javac编译器 使用java字节码解释器时,java解释器通过classpath加载*.class文件,所以需要设...