04.字节码常用工具javap -v命令javap是JDK自带的反编译工具,可以通过控制台查看字节码文件的内容。适合在服务器上查看字节码文件内容。直接输入javap查看所有参数。输入javap -v 字节码文件名称查看具体的字节码信息。(如果是jar包需要先使用jar -xvf命令解压)jclasslib的idea插件jclasslib也有ldea插件版本,建议开发时使用Idea插件版本,可以在代
Maven基础入门Maven常用命令compile:编译在项目的根目录打开cmd窗口,运行mvn compile命令,Maven即开始进行自动编译项目。Maven会自动开始下载依赖项,然后进行源码的编译,并将生成的编译文件存入target文件中。clean:清理mvn clean命令会清除compile时生成的target文件夹。test:测试自动执行src/test目录下的测试代码。packag
Maven基础入门基础知识Apache Maven是一个项目管理和构建工具,它基于项目对象模型(POM)的概念,通过一小段描述信息来管理项目的构建、报告和文档官网:http://maven.apache.org/Maven是专门用于管理和构建Java项目的工具,它的主要功能有:提供了一套标准化的项目结构提供了一套标准化的构建流程(编译,测试,打包,发布……)提供了一套依赖管理机制不同IDE之间,项
网络通信的练习题TCP通信练习1---多发多收客户端:多次发送数据服务器:接收多次接收数据,并打印服务器端:import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.ServerSoc
TCP通信TCP通信协议是一种可靠的网络协议,它在通信的两端各建立一个Socket对象,通信之前要保证连接已经建立,通过Socket产生IO流来进行网络通信。TCP通信是双向的。当从输入流的方法read方法切换到输出流时,需要发送一个结束标记,此时read方法才会停止等待,继续执行下一行代码。使用Socket对象的shutdownOutput()、shutdownInput()来执行这项操作(见T
Java Socket网络编程(二)UDP通信及多播
Java网络编程基础知识什么是网络编程?在网络通信协议下,不同计算机上运行的程序,进行的数据传输。●应用场景:即时通信、网游对战、金融证券、国际贸易、邮件、等等。不管是什么场景,都是计算机跟计算机之间通过网络进行数据传输。● Java中可以使用java.net包下的技术轻松开发出常见的网络应用程序。1.什么网络编程?计算机跟计算机之间通过网络进行数据传输。2.常见软件架构有哪些?CS/BS3.通信
线程池基础知识线程创建和启用会消耗系统资源,因此统一创建、管理和使用线程就显得非常有意义。我们把线程创建好好后放入线程池,需要时从这个池子中申请使用,使用完成后再还给线程池,线程的创建、管理、使用和消亡过程由线程池管理,这就是线程池的概念。线程池主要核心原理:①创建一个池子,池子中是空的②提交任务时,池子会创建新的线程对象,任务执行完毕,线程归还给池子下回再次提交任务时,不需要创建新的线程,直接复
练习多线程练习1(卖电影票)一共有1000张电影票,可以在两个窗口领取,假设每次领取的时间为3000毫秒,要求:请用多线程模拟卖票过程并打印剩余电影票的数量线程类实现:public class TicketWindow extends Thread{ public TicketWindow(){} public TicketWindow(String name){ super(name);
等待唤醒机制生产者和消费者模式生产者消费者模式是一个十分经典的多线程协作的模式。消费者等待生产者等待常见方法方法名称说明void wait()当前线程等待,直到被其他线程唤醒void notify()随机唤醒单个线程void notifyAll()唤醒所有线程厨子生产数据(生产者):// 厨子 public class Cook extends Thread{ @Override publi
线程安全问题考虑如下情景:某电影院目前正在上映国产大片,共有100张票,而它有3个窗口卖票,请设计一个程序模拟该电影院卖票。public class TicketSeller extends Thread{ // 定义票的数量 static int ticket = 0; // 取值范围: 0~99 @Override public void run() { while (true)
一、多线程三种实现方式的对比运行结果优点缺点继承Thread类无法获取编程比较简单,可以直接使用扩展性较差,不能再继承其他的类实现Runnable接口扩展性强,实现该接口的同时还可以继承其他的类编程相对复杂,不能直接使用Thread类中的方法实现Callable接口可以获取二、Thread类常见成员方法方法名称说明String getName()返回此线程的名称void setName(Strin
Java多线程(一)基本概念及多线程的三种实现方式
Java Properties配置文件使用方法详解
Arrays工具类二分查找方法binarySearch方法详解
Java正则操作类Pattern和MatcherPattern类Pattern位于java.util.regex包中,是正则表达式的编译表示形式,此类的实例是不可变的,可供多个并发线程安全使用。Pattern 类没有公共构造方法。要创建一个 Pattern 对象,你必须首先调用其公共静态compile方法,它返回一个Pattern.split(CharSequence input)split(Ch
一、URL类简介类URL表示统一资源定位器,即指向万维网上“资源”的指针。资源可以是文件或目录这样简单的东西,也可以是对更复杂对象的引用,例如对数据库或搜索引擎的查询。有关URL类型及其格式的更多信息,请访问:URL类型一般来说,URL可以分为几个部分。考虑以下示例:http://www.example.com/docs/resource1.html上面的URL表示要使用的协议是http(超文本传
Java IO流一、基础知识IO流即存储和读取数据的解决方案。(一)File表示系统中的文件或者文件夹的路径获取文件信息(大小,文件名,修改时间)创建文件/文件夹删除文件/文件夹判断文件的类型注意:File类只能对文件本身进行操作,不能读写文件里面存储的数据。(二)IO流用于读写文件中的数据(可以读写文件,或网络中的数据…)1. IO流的分类(1) 按流的方向分可以分为输入流与
练习第一题需求:在当前模块下的aaa文件夹中创建一个a.txt文件import java.io.File; import java.io.IOException; public class FileExer01 { public static void main(String[] args) throws IOException { File f1 = new File("AllInOne\
Java File类详解(上)理论部分
Java异常机制入门详解基础知识什么是异常?在Java语言中,异常就是代表程序出现的问题。异常的引入不是让我们以后不出异常,而是程序出了异常之后,该如何处理。如如下两段代码,会各抛出一个异常:int[]arr ={10,20,30}; System.out.println(arr[3]); ArrayindexOutOfBoundsException数组索引越界异常int a =10; int b
Java方法引用详解
一、收集方法collect收集到List、Set中比较简单,收集到Map中是重点,有点复杂,需要好好的理解。注意收集的Map中的数据键不能重复,否则会抛出异常。import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; public class StreamDemo10 {
一、Stream流的中间方法名称说明Stream<T> filter(Predicate<?super T> predicate)过滤Stream<T> limit(long maxSize)获取前几个元素Stream<T> skip(long n)跳过前几个元素Stream<T> dis
Java流Stream使用详解一、体验Stream流的作用需求:按照下面的要求完成集合的创建和遍历创建一个集合,存储多个字符串元素ArrayList<String> list =new ArrayList<>(); list.add("张无忌"); list.add("周芷若"); list.add("赵敏"); list.add("张强"); list.add("张三丰"
Java不可变集合不可变集合:也就是不可以被修改的集合创建不可变集合的应用场景●如果某个数据不能被修改,把它防御性地拷贝到不可变集合中是个很好的实践。●当集合对象被不可信的库调用时,不可变形式是安全的。简单理解:不想让别人修改集合中的内容创建不可变集合的书写格式在List、Set、Map接口中,都存在静态的of方法,可以获取一个不可变的集合。方法名称说明static <E>List&l
Idea中使用Debug模式Debug用来追踪代码的运行流程,通常在程序运行过程中出现异常,启用Debug模式可以分析定位异常发生的位置,以及在运行过程中参数的变化。通常我们也可以启用Debug模式来跟踪代码的运行流程去学习三方框架的源码。Debug开篇首先看下IDEA中Debug模式下的界面。如下是在IDEA中启动Debug模式,进入断点后的界面,我这里是Windows,可能和Mac的图标等会有
Java集合类API详解双列集合双列集合的概念,也即一次添加一对数据的集合。双列集合的特点:①双列集合一次需要存一对数据,分别为键和值②键不能重复,值可以重复③键和值是一一对应的,每一个键只能找到自己对应的值④键+值这个整体我们称之为“键值对”或者“键值对对象”,在Java中叫做“Entry对象”Map的常见APIMap是双列集合的顶层接口,它的功能是全部双列集合都可以继承使用的方法名称说明V p
Java集合类API详解单列集合一次添加一个数据的集合。它们的根接口是Collection,具体体系如图:List系列集合的特点:添加的元素是有序、可重复、有索引的。也即存和取的顺序是一致的;包含的元素是可以有重复的;包含的元素是有索引的,可以通过索引对元素进行操作。Set系列集合的特点:添加的元素是无序、不重复、无索引。也即存和取的顺序有可能是不一样的;包含的元素是不能也不会有重复,也即元素是唯
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号