① JavaSE
文章平均质量分 63
java入门
悠闲的线程池
纸上得来终觉浅,绝知此事要躬行!半山腰人太多,所以我们顶峰相见吧!!!
展开
-
javase----黑马教程02
变量就在程序中临时存储数据的容器。但是这个容器中只能存一个值。 数据类型 变量名 = 数据值;//1.定义byte类型的变量 //数据类型 变量名 = 数据值;//2.定义short类型的变量 short b = 20;//3.定义int类型的变量 int c = 30;//4.定义long类型的变量 long d = 123456789123456789L;//5.定义float类型的变量 float e = 10.1F;转载 2022-09-28 13:39:56 · 199 阅读 · 0 评论 -
javase----黑马教程01
就是在windows操作系统中,利用命令行的方式去操作计算机。我们可以利用cmd命令去操作计算机,比如:打开文件,打开文件夹,创建文件夹等。语言:人与人交流沟通的表达方式计算机语言:人与计算机之间进行信息交流沟通的一种特殊语言Java是一门非常火的计算机语言。(也叫做编程语言)我们想要让计算机做一些事情,那么就可以通过Java语言告诉计算机就可以了目录名称说明bin该路径下存放了JDK的各种工具命令。javac和java就放在这个目录。conf该路径下存放了JDK的相关配置文件。转载 2022-09-28 13:28:59 · 761 阅读 · 0 评论 -
java6新特性----SPI机制
SPI: 全称是**ServiceProviderInterface**它是从Java 6 开始引入的,是一种基于 ClassLoader 来发现并加载服务的机制。一种标准的SPI,由三个组件构成,分别是:ServiceService,是一个公开的接口或抽象类,定义了一个抽象的功能模块Service Provider,则是Service接口的一个实现类。ServiceLoader, 是SPI机制中的核心组件,负责在运行时发现并加载 Service Provider。原创 2022-09-07 00:17:00 · 438 阅读 · 0 评论 -
异常体系----java异常整理
在程序开发中,异常处理也是我们经常使用到的模块,只是平常很少去深究异常模块的一些知识点。比如,try-catch处理要遵循的原则是什么,finally为什么总是能执行,trycatch为什么比较消耗程序的执行性能等问题,我们本讲内容都会给出相应的答案,当然还有面试中经常被问到的异常模块的一些面试题,也是我们本篇要讲解的重点内容。先来看看*异常处理的语法格式*其中,•*try*:是用来监测可能会出现异常的代码段。•*catch*原创 2022-09-05 13:57:43 · 451 阅读 · 0 评论 -
输出100以内所有的质数
效率比较低的算法 //放在外面减少了变量的创建 boolean isFlag = true; //遍历10000以内的自然数 for (int i = 2;i <= 100000; i++) { for (int j = 2; j < i;j++){ //j:被i去除 if (i % j == 0){//i被除尽,说明不是质数 is原创 2020-12-18 00:28:44 · 3394 阅读 · 5 评论 -
JavaSE----变量、String、运算符、流程控制
变量整型:整型的常量,默认类型是:int型声明long型变量,必须以"l"或"L"结尾浮点型:float(4字节) \ double(8字节)浮点型的常量,默认类型为:doublefloat:单精度,尾数精确到7位有效数字,double是float精度的两倍字符型:char (1字符=2字节)布尔型:boolean变量使用的注意点:① 变量必须先声明,后使用② 变量都定义在其作用域内。③ 同一个作用域内,不可以声明两个同名的变量基本数据类型变量间运算原创 2021-10-13 09:42:52 · 207 阅读 · 0 评论 -
JavaSE----数组
1.数组的理解:数组(Array),是多个相同类型数据一定顺序排列的集合,并使用一个名字命名,3.数组的特点:1)数组是有序排列的2)数组属于引用数据类型的变量。数组的元素,既可以是基本数据类型,也可以是引用数据类型3)创建数组对象会在内存中开辟一整块连续的空间4)数组的长度一旦确定,就不能修改。数组的分类:① 照维数:一维数组、二维数组、。。。② 照数组元素的类型:基本数据类型元素的数组、引用数据类型元素的数组一维数组的使用① 一维数组的声明和初始化② 如何调用数组的指定位置原创 2021-10-13 10:39:05 · 171 阅读 · 0 评论 -
JavaSE----属性、方法
不同点:2.1 在类中声明的位置的不同属性: 直接定义在类的一对{}内局部变量: 声明在方法内、方法形参、代码块内、构造器形参、构造器内部的变量 2.2 关于权限修饰符的不同属性:可以在声明属性时,指明其权限,使用权限修饰符。 常用的权限修饰符:private、public、缺省、protected --->封装性局部变量:不可以使用权限修饰符。2.3 默认初始化值的情况:属性:类的属性,根据其类型,都默认初始化值。 整型(byte、short、int、long:0).原创 2021-10-13 10:52:47 · 120 阅读 · 0 评论 -
JavaSE----代码块、内部类
类的成员之四:代码块(初始化块)(重要性较属性、方法、构造器差一些)1.代码块的作用:用来初始化类、对象的信息分类:静态代码块 vs 非静态代码块静态代码块:随着类的加载而执行,而且只执行一次作用:初始化类的信息静态代码块内只能调用静态的属性、静态的方法,不能调用非静态的结构非静态代码块:每创建一个对象,就执行一次非静态代码块作用:可以在创建对象时,对对象的属性等进行初始化非静态代码块内可以调用静态的属性、静态的方法,或非静态的属性、非静态的方法实例化子类对象时,涉及到父类原创 2021-10-13 10:56:15 · 139 阅读 · 0 评论 -
JavaSE----多态
3.多态性的使用:虚拟方法调用有了对象的多态性以后,我们在编译期,只能调用父类中声明的方法,但在运行期,我们实际执行的是子类重写父类的方法。总结:编译,看左边;运行,看右边。4.多态性的使用前提:① 类的继承或实现关系② 方法的重写 (如果子类没有重写父类的方法,就不能使用子类特有的成员)③ 父类引用子类对象6.多态性使用的注意点:对象的多态性,只适用于方法,不适用于属性(编译和运行都看左边)7.关于向上转型与向下转型:7.2.1 为什么使用向下转型:有了对象的多态性以后,内存中原创 2021-10-13 10:57:01 · 153 阅读 · 0 评论 -
JavaSE----异常处理
异常的体系结构 * java.lang.Throwable * |-----java.lang.Error:一般不编写针对性的代码进行处理。 * |-----java.lang.Exception:可以进行异常的处理 * |------编译时异常(checked) * |-----IOException * |-----FileNotFoundException * |-----ClassNotFoundException * |---.原创 2021-10-13 11:04:35 · 117 阅读 · 0 评论 -
JavaSE----常用类(Object、Objects、Math)
java.lang.Object类的说明:equals() 、 toString() 、 getClass() 、 hashCode() 、 clone() 、finalize() 、 wait() 、 notify() 、 notifyAll()@Overridepublic boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) retu原创 2021-10-13 11:10:26 · 121 阅读 · 0 评论 -
JavaSE----常用类(String、StringBuilder、StringBuffer)
String 类字符串是常量: 他们的值在创建后不能更改字符串的底层是一个被final修饰的数组,是一个常量private final byte[] value;StringBuilder 类byte[] value = new byte[16];如果超出了StringBuilder的容量,会自动扩容...原创 2021-10-13 11:13:25 · 158 阅读 · 0 评论 -
nginx----linux安装
物理安装cd /usr/local 下,下载nginx软件 wget http://nginx.org/download/nginx-1.21.3.tar.gz解压 tar -zxvf nginx-1.21.3.tar.gz进入 cd nginx-1.21.3安装依赖环境yum -y install pcre pcre-develyum -y install zlib zlib-develyum -y install openssl openssl-devel安装nginx原创 2021-10-14 22:43:11 · 442 阅读 · 0 评论 -
Java----日期算法(计算两个date类型的时间差)
java计算两个日期相差多少天、小时、分钟等1、时间转换Date date = new Date();String toStr = date.toString();输出的结果类似于:Wed Sep 16 19:02:36 CST 2012 使用SimpleDataFormat类Date date = new Date();String dateStr = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(date);System.ou原创 2021-10-15 15:41:37 · 11390 阅读 · 0 评论 -
javaSE----学习路线
原创 2021-10-19 11:48:32 · 99 阅读 · 0 评论 -
javaSE----进制
其他进制转10 进制冯诺依曼体系: 计算机所有的操作都是基于二进制10进制 --> 123 = 110^2+ 210^1 + 3*10^02进制 --> 101 = 12^2 + 02^1 + 1*2^0 = 516进制 --> aa = 1016^1 + 1016^0 = 17010进制转2进制对2取余 13–> 1101如何表示正负数使用最高位表示符号为0111 – 71111 – -7问题:数字0如何表示00001000如何原创 2021-10-20 10:01:31 · 100 阅读 · 0 评论 -
javaSE----继承
继承的好处:提高代码复用性,便于功能的扩展多态的前提继承性的格式: class A extends B{}特点:一旦子类 A继承父类B以后,子类A中就获取了父类B中声明的所有的属性和方法(对于private的只是不能直接调用而已)子类继承以后,还可以声明自己特有的属性或方法: 实现功能的拓展单继承,多层继承所有类都直接或间接继承与Object类方法重写重写: 子类继承以后,可以对父类中同名同参数的方法进行覆盖应用: 重写后,通过子类对象调用子父类中同名同参数的原创 2021-10-20 19:14:24 · 89 阅读 · 0 评论 -
java&js ---- 判断字符串中是否包含子串
java判断int indexOf(String s)返回值-1 : 表示不包含返回值>=0:表示子串在父串中首次出现的索引String test = "This is test for string";System.out.println(test.indexOf("This")); //0System.out.println(test.indexOf("is")); //2System.out.println(test.indexOf("test")); //8System原创 2021-11-02 14:12:10 · 592 阅读 · 0 评论 -
第二章----基本语法
1.关键字和保留字2.标识符 2.1标识符的使用 2.2标识符的命名规则 2.3标识符的命名规范3.变量 变量分类 整数类型:byte、short、int、long 字符类型:char 布尔类型:boolean 基本数据类型转换 自动类型提升 强制类型转换关键字和保留字除了上述关键字,Java还有以下特殊的:true,false,null标识符标识符的使用凡是自己可以起名的地方都叫标识符如:类名、变量名、方法名、接口名、包名。。。标识符的命名规则英文字母大小写原创 2022-01-23 23:43:48 · 371 阅读 · 0 评论 -
第三章----数组
数组数组1. 数组特点2. 一维数组使用3.多维数组的使用数组Array,多个相同类型数据按一定顺序排列的集合,使用一个名字命名,并通过编号的方式对数据进行统一管理1. 数组特点数组是有序排列的数组是引用数据类型变量在内存中是一组连续的空间数组长度一旦确定就不可修改2. 一维数组使用一维数组的声明和初始化如何调用数组的指定位置的元素如何获取数组的长度如何遍历数组数组元素的默认初始化值数组的内存解析声明 和 初始化int[] ids;//声明//静态初始化id原创 2022-01-29 01:20:37 · 442 阅读 · 0 评论 -
第四章 ---- 面向对象(一)
文章目录类和对象类的成员属性属性 VS 局部变量方法方法重载可变个数形参方法参数的值传递机制递归方法封装性权限修饰符构造器匿名对象关键字return面向对象学习的三条主线java类及类的成员:属性,方法,构造器,代码块,内部类面向对象的三大特征: 封装性,继承性,多态性,(抽象性)其他关键字:this,super,static,final,abstract,interface,package,import类和对象类: 抽象的概念(类是设计的重点)对象:类的实例类的成员属性属性 = 成原创 2022-02-08 09:42:37 · 446 阅读 · 0 评论 -
第五章 ---- 面向对象(二)
面向对象二1、类及成员1.1、方法2、三大特征2.1、继承性2.1.1、方法重写2.1.2、子类实例化过程2.2、多态性3、关键字3.1、super1、类及成员1.1、方法2、三大特征2.1、继承性继承的好处:减少了代码的冗余,提高了代码的复用性便于功能的扩展多态的前提继承格式:class A extends B{}A继承B:A获取了B中声明的所有属性和方法B类中的private属性方法,子类任然获取到了,又因封装性影响,不能自接调用A类可以声明自己特有的属性方法:功能拓展原创 2022-02-11 10:50:46 · 2103 阅读 · 0 评论 -
第六章 ---- 面向对象(三)
文章目录关键字static设计模式单例设计模式面试题写一个Singleton实例关键字static有些时候需要不产生对象,就可以直接使用。无论,是否产生对象,无论多少对象,某些特定数据在内存空间中只有一份static :属性,方法,代码块,内部类static 修饰属性静态变量(类变量) vs 非静态变量(实例变量)实例变量:多个对象,各有一套非静态属性静态变量:多个对象共享同一个静态变量其他说明:静态变量随着类加载,早与对象(可以通过类名.的方式调用)类只加载一次,原创 2022-02-16 14:52:54 · 718 阅读 · 0 评论 -
第七章 ---- 异常处理
文章目录异常异常体系结构异常处理机制try {} catch{} finally{}throws开发中throw自定义异常异常异常体系结构运行时异常:运行时出现的异常编译时异常:编译时出现的异常异常处理机制try {} catch{} finally{}异常处理是通过try-catch-finally语句实现的。try{ ...... //可能产生异常的代码}catch( ExceptionName1 e ){ ...... //当产生ExceptionName1型异常时的处置措施原创 2022-02-18 00:09:54 · 396 阅读 · 0 评论 -
第八章 ---- 枚举&注解
文章目录枚举枚举类说明枚举类的使用:入门枚举类的主要方法实现接口注解常见示例示例一:生成文档相关注解示例二:在编译时进行格式检查(JDK内置的三个基本注解)示例三:跟踪代码依赖性,实现替代配置文件功能自定义注解如何自定义枚举类如何使用关键字enum定义枚举类Enum类的主要方法实现接口的枚举类枚举枚举类说明枚举类实现JDK1.5之前,需要自定义枚举类JDK1.5新增的enum关键字用于定义枚举类若枚举只有一个对象,则可以作为一种单例模式的实现方式枚举类的属性枚举类对象的属性不应原创 2022-02-19 22:18:14 · 314 阅读 · 0 评论 -
力扣 ---- java
文章目录#31#32#31public class No31 { public static void main(String[] args) { nextPermutation(new int[]{1,2,3,6,4,6,5}); } public static void nextPermutation(int[] nums) { int i = 0, j = 0, k = 0, left = 0,right = nums.length - 1原创 2022-02-25 15:57:58 · 293 阅读 · 0 评论 -
javase----精度丢失问题
bigdecimal的一些记录原创 2022-06-21 20:26:24 · 130 阅读 · 0 评论 -
javase----查看对象所占内存大小
查看内存大小原创 2022-06-21 20:45:47 · 296 阅读 · 0 评论 -
javaSE ---- BigDecimal
构造方法最佳实践一般使用BigDecimal(String val)//创建对应数值的对象BigDecimal(String val) System.out.println(new BigDecimal("123")); System.out.println(new BigDecimal("123.1")); System.out.println(new BigDecimal("123.23")); System.out.println(ne原创 2022-06-22 00:25:47 · 107 阅读 · 0 评论 -
SimpleDateFormat在多线程环境下存在线程安全问题。
错误使用SimpleDateFormat .parse()的代码如下:查看源码中可以看到:SimpleDateFormat继承DateFormat类,SimpleDateFormat转换日期是通过继承自DateFormat类的Calendar对象来操作的,Calendar对象会被用来进行日期-时间计算,既被用于format方法也被用于parse方法。SimpleDateFormat 的 parse(String source) 方法 会调用继承自父类的 DateFormat 的 parse(String转载 2022-06-23 10:45:38 · 479 阅读 · 0 评论 -
javase ---- stopWtach的简单体验
利用StopWatch监控Java代码运行时间和分析性能有时我们在做开发的时候需要记录每个任务执行时间,或者记录一段代码执行时间,最简单的方法就是打印当前时间与执行完时间的差值,一般我们检测某段代码执行的时间,都是以如下方式来进行的:事实上该方法通过获取执行完成时间与执行开始时间的差值得到程序的执行时间,简单直接有效,但想必写多了也是比较烦人的,尤其是碰到不可描述的代码时,会更加的让人忍不住多写几个bug聊表敬意,而且如果想对执行的时间做进一步控制,则需要在程序中很多地方修改。此时会想是否有一个工具类,提转载 2022-06-27 09:58:30 · 220 阅读 · 0 评论 -
mysql----where 1=1是什么意思
新的同事来之后问我where 1=1 是什么有意思,这样没意义啊,我笑了。今天来说明下。先来看一段代码上面的代码很熟悉,就是查询符合条件的总条数。在mybatis中常用到if标签判断where子句后的条件,为防止首字段为空导致sql报错。没错 ,当遇到多个查询条件,使用where 1=1 可以很方便的解决我们条件为空的问题,那么这么写 有什么问题吗 ?网上有很多人说,这样会引发性能问题,可能会让索引失效,那么我们今天来实测一下,会不会不走索引title字段已经加上索引,我们通过EXPLAIN看下对比上面两转载 2022-06-27 10:12:17 · 1945 阅读 · 0 评论 -
stream流
Lambda是JDK8中一个语法糖。他可以对某些匿名内部类的写法进行简化。它是函数式编程思想的一个重要体现。让我们不用关注是什么对象。而是更关注我们对数据进行了什么操作。Java8的Stream使用的是函数式编程模式,如同它的名字一样,它可以被用来对集合或数组进行链状流式的操作。可以更方便的让我们对集合或数组操作。我们在编写代码的时候出现最多的就是空指针异常。所以在很多情况下我们需要做各种非空的判断。=null){}尤其是对象中的属性还是一个对象的情况下。这种判断会更多。。......转载 2022-07-23 01:26:15 · 77 阅读 · 0 评论