JAVA
文章平均质量分 55
TraceChen
这个作者很懒,什么都没留下…
展开
-
Java8(JDK1.8)新特性
1、速度快;2、代码少、简介(新增特性:lamdba表达式);3、强大的Stream API;4、使用并行流和串行流;5、最大化较少空指针异常Optional;其中最为核心的是Lambda表达式和Stream APILambda是一个匿名函数,我们可以将Lambda表达式理解为一段可以传递的代码(将代码像数据一样传递)。使用它可以写出简洁、灵活的代码。作为一种更紧凑的代码风格,使java语言表达能力得到提升。...原创 2022-08-15 00:10:43 · 52402 阅读 · 11 评论 -
JVM工具之jstat
JVM工具之jstat查询GC统计信息分析原创 2022-07-11 16:50:43 · 6290 阅读 · 0 评论 -
JAVA泛型
java泛型原创 2022-07-11 16:59:25 · 907 阅读 · 0 评论 -
map遍历的方法
map遍历方法原创 2022-05-26 16:40:34 · 152 阅读 · 0 评论 -
AvoidDeadLock-TryLockMethod
避免死锁方法--使用tryLock方法package com.chen.test.Thread.AvoidDeadLock;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.util.concurrent.TimeUnit;import java.util.concurrent.locks.ReentrantLock;/** * 避免线程死锁方式: * 1、资源分配顺序是有序的 * 2原创 2022-04-28 17:51:52 · 209 阅读 · 0 评论 -
Thread Dead Lock Demo
产生死锁原因:在多线程或者多进程中,两个或者两个以上线程或者进程占有共有资源,并且互相等待对方持有资源,出现相互等待的状态或者产生僵死的状态。成为死锁死锁四个必要条件:1、互斥条件2、请求与等待条件3、不可剥夺条件4、循环等待条件package com.chen.test.Thread.DeadLockDemo;import org.slf4j.Logger;import org.slf4j.LoggerFactory;public class DeadLockDemo..原创 2022-04-26 11:52:14 · 156 阅读 · 0 评论 -
SVN在IDEA中报出create process error=2 的错误
IDEA中Subservioin连接SVN版本控制出现错误create process error=2 ,系统找不到指定的文件分析一下在IDEA中命令行中打开使用出现原因安装客户端时,没有command line client tools(命名行客户端工具)SVN使用了命令行工具,如果本地没有SVN的命令行工具,则导致出错。解决方法重新安装客户端安装客户端下载地址:https://osdn.net/projects/tortoisesvn/storage/1.14...原创 2021-07-16 18:54:56 · 517 阅读 · 1 评论 -
Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:compile错误
Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:compile错误使用maven管理核心后台项目时,使用mvn clean package 进行打包,抛出的错误:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:compile这个问题开始认为是pom.xml文件配置出错,认真查找一下,对应a原创 2021-07-02 18:52:57 · 2523 阅读 · 0 评论 -
Nginx安装和部署
首先,先安装依赖包yum -y install gcc gcc-c++ kernel-devel原创 2021-06-10 18:41:42 · 158 阅读 · 0 评论 -
Java三大特性之三(多态)
多态 即同一个方法可以根据发送对象的不同而采用多种不同的行为方式。 一个对象的实际类型是确定的,但是可以指向对象的引用类型有很多(父类,或者有关系的类,如:Object) 多态存在的条件 有继承关系 子类重写父类的方法 父类(有关系的类)的引用指向子类对象 多态的注意事项 多态指的方法的多态,属性没有多态 子类和父类,需要有关联 那些方法不需要重写: private访问修饰的 私有的 final修饰的 ...原创 2021-06-05 21:53:33 · 94 阅读 · 0 评论 -
Java三大特性之二(继承)
继承 继承的本质是对某一批类的抽象,从而实现对现实世界更好的建模。 extends关键字,意思是“扩展”。子类继承父类的扩展。 Java中只有单继承,没有多继承!但是可以实现多接口来达到多继承的目的。 继承是类和类之间一种关系。除此之外,类和类之间的关系还有依赖、组合、聚合等。 继承关系是两个类,一个是子类(派生类),一个是父类(基类)。子类继承父类,使用extends关键来表示。 子类和父类之间,从意义上讲应该具有 “is a ”的关系。 ..原创 2021-06-05 21:49:50 · 100 阅读 · 0 评论 -
Java三大特性之一(封装)
封装 程序设计一般要求:“高内聚,低耦合”。高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合:仅暴露少量的方法给外部使用。 封装(数据的隐藏) 通常,应禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,这称为信息的隐藏。 记住一句话:属性私有,get/set //属性私有,get/setpackage com.oop.Demo3;//Student类public class Student { //属性私有 使用p..原创 2021-05-27 10:16:21 · 98 阅读 · 0 评论 -
Java核心思想OOP
Java核心思想OOP 面向对象程序(Object-Oriented Programming,OOP)。 面向对象编程的本质就是:以类的方法组织代码,以对象的组织(封装)数据。 抽象:把许多事物的共同特性,抽取出来作为一个类。java 三大特性: 封装:字面意思,封装起来,保留一个接口可以被调用,有利于代码复用。 继承:子类可以继承父类的成员和方法(可以理解为儿子继承父亲的财产)。 多态:同一个事物可以有多种形态,形态各不相同。 从认识...原创 2021-05-23 23:11:22 · 268 阅读 · 0 评论 -
case穿透
case穿透:在switch语句中,每一个case语句,需要一个结束循环体,否则会出现case穿透//case 穿透: 当case语句 没有使用break时 表示case穿透 一直执行下去一下语句public class SwitchDemo { public static void main(String[] args) { //case 穿透: 当case语句 没有使用break时 表示case穿透 一直执行下去 char grade = 'C...原创 2021-05-21 21:54:36 · 1089 阅读 · 0 评论 -
Java流程控制2(练习题)
练习题1:计算0-100的奇数和偶数的和练习题2:用while或者for循环输出1-1000之间被5整除的数,每行输出3个数练习题3:打印九九乘法表打印三角形原创 2021-05-21 21:45:56 · 65 阅读 · 0 评论 -
可变长参数
可变长参数 在JDK1.5开始,Java支持传递同类型的可变参数方法。 方法声明中,在指定参数类型后加一个省略号(...)。 一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它之前声明。 重载:一个类中有,声明了一个相同名称的方法,但是有不同的参数类型、参数个数以及参数顺序package com.chen.array;public class ArrayDemo7 { public static void main(Stri...原创 2021-05-21 21:03:10 · 96 阅读 · 0 评论 -
稀疏数组
稀疏数组 当一个数组中大部分都是0,或者都是同一个值的数组,可以用稀疏数组来保存改数组。 稀疏数组存储方式是: 记录数组一共有几行几列,有多少个不同值 把具有不同值的元素,通过行列以及值记录保存在一个小的数组中,从而减少程序的规模。 如下图所示:左边是普通矩阵,右边是稀疏矩阵例如,五子棋游戏。 需求:编写五子棋游戏,有存盘退出和续上盘的功能。 分析问题:因为该二维数组有很多值是默认值0,因为记录很多没有意义的元素。.原创 2021-05-21 20:44:08 · 122 阅读 · 1 评论 -
用main方法命令行传递参数
用main方法命令行传递参数package com.chen.method;public class Demo3 { public static void main(String[] args) { //加载main方法 for(int i=0;i< args.length;i++){ System.out.println("args.length"+args.length+args[i]); }...原创 2021-05-19 19:45:53 · 185 阅读 · 0 评论 -
Java流程控制
Java流程控制结构流程控制中主要有三个:顺序、选择、循环顺序结构顺序结构:可理解为程序从上到下一步一步走,顺序执行选择结构选择中有三个 单个选择if 两个选择if...else... 多个选择if ...else if ... else ... 或者是 switch if语句单个选择if、两个选择if...else... 多个选择if ...else if ... else ... 都放在一起了 package com.chen.struct;.原创 2021-05-19 17:07:06 · 99 阅读 · 0 评论 -
Java中大整数和大小数
大整数和大小数package com.chen.scanner;import java.math.BigDecimal;import java.math.BigInteger;import java.util.Scanner;public class Demo5 { public static void main(String[] args) { //输入键盘的数据 Scanner scanner = new Scanner(System.in)...原创 2021-05-19 15:44:29 · 251 阅读 · 0 评论 -
Scanner类
Scanner类扫描类中有许多方法next()和nextLine() 方法的区别 next方法遇到空格中断,不能带空格 nextLine方法遇到Enter回车键中断,不会因遇到空格而中断 package com.chen.scanner;import java.util.Scanner;public class Demo1 { public static void main(String[] args) { //创建一个扫描对象,用来接收键盘输...原创 2021-05-19 15:43:08 · 77 阅读 · 0 评论 -
JAVA基础知识补充
java基础知识作用域 类变量 实类变量 局部变量 public class Demo5 { //属性:变量 //类变量:又称为静态变量 static修饰 static String num ; //实类变量:从属于这个类, /** * 如果没有赋值,进行初始化 * 1、基本数据类型: * 整数类型都是默认为0 * 浮点数默认为0.0...原创 2021-05-18 00:22:47 · 80 阅读 · 0 评论 -
java 注释
注释java中三种注释 单行注释 多行注释 文档注释 (重点) javaDoc javaDoc参数信息:/*** @author //作者名* @version //版本版* @since //指名需要最早使用的JDK版本* @param //参数名* @return //返回值情况* @throws //抛出异常情况*/package com.chen.base;/** *...原创 2021-05-18 00:03:47 · 151 阅读 · 0 评论 -
关于Java正则表达式
请你简单描述一下正则表达式及其用途。1、正则表达式:又称为规则表达式(英文名称:regular expression 在代码中经常简称regex 或 regexp 或RE),是计算机科学一个概念。正则表达式通常被用来检索、替换、分割那些符合某个模式(规则)的文本。在众多语言中都可以支持正则表达式,如Perl、PHP、Java、Python、Ruby等。当然在Java中也可以通过处理字符串的方式...原创 2020-04-16 22:27:16 · 196 阅读 · 0 评论 -
关于数组的全排列问题,输入一个数组输出,数组中所有排列的组合,并且不允许有重复的组合
为了去除重复的排列组合使用一个Set集合,可以去除重复的组合例如:输入:1 2 3输出:1 2 31 3 22 1 32 3 13 2 13 1 2实现的代码:import java.util.*;public class Main { public static void main(String[] args){ Sca...原创 2019-10-22 11:30:58 · 1370 阅读 · 0 评论 -
IP地址黑名单,指定一个IP地址,是否在IP地址黑名单中
输入描述:第一行是一个IP地址,第二行是一个IP地址和对应的IP子网掩码192.168.12.3192.168.12.45/24输出描述:如果第一行输入的IP地址在第二行IP黑名单中,返回是1否者返回是0JAVA代码实现:import java.io.*;import java.util.*;public class Main { static bo...原创 2019-10-14 21:50:21 · 2027 阅读 · 1 评论 -
关于数据结构的链表以及一些常规操作
package 链表;import java.util.HashMap;import java.util.HashSet;/** * 定义一个链表结点存储结构 */class Node{ int data; Node next =null; public Node(int data){ this.data = data; }}...原创 2019-09-21 18:29:01 · 111 阅读 · 0 评论 -
一个字符串序列由两个字符'['和']'组成,如果不合法,添加'['或']' 使之合法
/** * 9月14号 *题目描述: * 一个字符串序列由两个字符'['和']'组成 * 假设由三种合法形式 * 1.空 * 2.两个合法序列的拼接 * 3.[合法序列] * 如"","[]","[][]","[[]]" 都是合法形式 * 现在给定一组序列,我们可以再任意位置添加'[' 或 ']' ,使用变为合法序列 * 添加一个字符视为一次操作, * 请你找出将其便合法序...原创 2019-09-14 23:25:43 · 444 阅读 · 0 评论 -
第一行有一个整数 表示M 第二行是一个字符串,表示需要排序的一段话,包含一至多个单词,单词之间以1个空格分隔,
/** * 输入描述:第一行有一个整数 表示M * 第二行是一个字符串,表示需要排序的一段话,包含一至多个单词,单词之间以1个空格分隔, * M<=10000 * 输入单词数<=1000 字符数<=1000000 * 每个单词可能包含字母a-z A-Z,每个单词长度<=M * 输出描述:输出一至多行排版后的内容(最后换行结尾) * * 样例输入: * ...原创 2019-09-14 17:46:09 · 1443 阅读 · 0 评论 -
按行输入按列输出,把字符串存入二维数组中,按列的形式输出字符串
随机输入一字符串S,字符串S包含二维数组的列数N+字符串A,其中二维数组行数为存储字符串的所需最小正整数,将字符串A按行存储二维数组中,按列方向可读输出另一个字符串B,并输出列向字符串B。列字符串结尾多余的空格需去除。/** * 输入描述: * 输入字符串S,为包含二维数组的列数N和字符串A, * 二维数组列数N为数字字符,行向字符串A为数字的字符串, * 且字符串不会包括分号...原创 2019-09-09 12:13:12 · 3578 阅读 · 0 评论 -
输入一个字符串,字符串中有多个单词,每个单词用逗号分开,输出每个单词前后相同的个数
题目分析,每个单词使用split分开,当单词首尾相同时count加一Java代码实现:import java.util.Scanner;/** *输入一个字符串每个单词以逗号分开, * 输出每个单词的首位相同的个数 */public class Main{ public static int countStringSame(String str){ i...原创 2019-09-09 09:57:58 · 2710 阅读 · 0 评论 -
B站的编程题,看似简单,其实不简单,大家来做一下
假设现在需要对一串数字字符串进行解码,我们知道改字符串的编码规则是1->A2->B...26->Z输出数字N代表有多少种可能的结果例如:输入:111输出:3对应的结果是AAA 、AK、KA这是一个使用动态规划的题目JAVA代码实现:public class Solution { public int...原创 2019-08-20 23:50:18 · 399 阅读 · 0 评论 -
十进制转换二进制,求1的个数,相同为一类?
问题:给定N个非负整数,将这N个数字按照二进制1的个数分类,二进制下1的个数相同的数字属于同一类,求最后一共有几类数字?输入描述:输入的第一行是一个正整数T(0<T<=10),表示样例个数。对于每一个样例,第一行是一个正整数N(0<N<=100),表示有多少个数字。接下来一行是N个由空格分隔的非负整数,大小不超过2^23-1输出描述:对...原创 2019-08-11 20:31:12 · 508 阅读 · 0 评论