- 博客(59)
- 收藏
- 关注
原创 Steam流
方法的形参是一个可变参数,可以传递一堆零散的数据,也可以传递数组,但数组必须是引用数据类型的,如果传递基本数据类型,会把整个数组当做一个元素,放到Stream当中。中间方法,返回新的stream流,原先的stream流只能使用一次,建议使用链式编程,修改stream流中的数据,不会影响原来集合或者数组中的数据。在List,set,map接口中,都存在静态的of方法,可以获取一个不可变的集合.map(键1,值1,键2,值2,键3,值3......)(2)把张开头的,长度为3的元素再存储到新集合中。
2023-02-05 17:50:12
1594
1
原创 线程池的思考总结(一)
线程池主要用于多线程的服务器例如MYSQL中,它是基于池化思想管理线程的工具。线程过多会带来不必要的开销,比如创建销毁线程,调度线程带来的开销,这些开销会极大的占用计算机的资源,造成计算机的整体性能的下降.线程池维护多个线程,等待监督管理者下发任务,这样既避免了处理接收到的任务时创建销毁线程带来的开销,也避免了线程数量过大可能造成的调度问题,保证了对内核的充分利用。使用线程池带来的好处:减少资源消耗:可以重复利用线程池中已经创建好的线程,避免了创建销毁线程所产生的消耗。
2023-01-30 17:36:27
625
原创 zookeeper相关(二)
(1)每台server发出一个投票,由于是初始情况,server1和server2都将自己作为leader服务器进行投票,每次投票包含所推举的服务器myid,zxid,epoch,使用myid,zxid表示,此时server1投票为(1,0),server2投票为(2,0),然后将各自投票发送给集群中其他机器.(2)接收来自各个服务器的投票.集群中的每个服务器收到投票后,首先判断该投票的有效性,如检查是否是本轮投票(epoch),是否来自LOOKING状态的服务器.
2022-12-23 23:46:57
1286
原创 zookeeper相关(一)
一致性:在分布式环境中,一致性是指数据在多个副本之间是否能够保持一致的特性,等同于所有节点访问同一份最新的数据副本.在一致性的需求下,当一个系统在数据一致的状态下执行更新操作后,应该保证系统的数据仍然处于一致的状态.Timeout:会话超时时间,客户端在构造zookeeper实例时候,向服务端发送配置的超时时间,server端会根据自己的超时时间限制最终确认会话的超时时间.它的设计目的是将那些复杂且容易出错的分布式一致性服务封装起来,构成一个高效可靠的原语集,并以一系列简单易用的接口提供给用户使用.
2022-12-20 23:59:19
574
原创 设计模式:单例模式
该模式主要使用在想要控制实例数目,节省系统资源的时候,用于解决一个全局使用的类频繁地被创建与销毁问题,在使用时会判断系统是否已经有该单例,有则返回,无则创建,这段函数的代码关键在于构造函数本身是私有的.单例模式是java中最简单的设计模式之一,这种类型的设计模式相当于创造型模式,它提供了一种创建对象的最佳方式,它提供了一种访问其唯一的对象的方式,可以直接访问,无需示例化该类的对象.缺点在于没有接口,不能够被继承,与单一职责原则相互冲突,一个类应当只关心内部逻辑而不是关心外部怎样实例化.
2022-12-19 18:22:58
130
原创 SQL命令速成二
count函数统计符合条件的记录数,count(*)统计表中的记录总数,count(字段名)统计指定字段不为null的记录数.select 字段1,字段2,...from 表名 where 字段名 操作符 (子查询);找出部门表中部门号位于二楼的部门,并在员工表中找出这些员工的姓名。返回的是所选字段的最大或者最小值,语法:max/min(字段名)返回的是所选字段的平均/合计值,语法:avg/sum(字段名)when 字段=条件值1 then 选项1。when 条件值2 then 条件值2。
2022-12-17 22:41:01
603
原创 SQL命令速成(一)
2.员工表,员工号empno,姓名name,部门deptno,经理manager,入职时间hiredate,薪水salary(总长度7位,小数点后精确到两位);insert into 表名(字段1,字段2,字段3...) values (字段1的值,字段2的值....)(4)联合主键不能包含不必要的多余字段,当把联合主键的某一字段删除后,剩下的字段不能唯一代表一条记录.视图是基于SQL语句的结果集的可视化表,仕途中的字段就是来自一个或多个数据库中的真实的表中的字段.
2022-12-16 23:02:52
2502
原创 security登录流程
用户发起登陆请求AdminController,然后调用我们自己的登录业务实现类AdminServiceImpl的登录方法去处理,调用security框架的核心接口方法authenticate开始认证,他会自动去调用我们实现security框架的UserDetailsService接口的登录认证方法,若是认证成功则向前端返回JWT数据,注:AuthenticationManager(接口是认证的核心接口),也是认证的出发点.我们通过security框架认证登录信息,若登陆成功,最终返回的是JWT数据。
2022-12-15 18:41:12
1220
原创 Java垃圾回收算法
对内存的逻辑分区采用1:2的分配方式,小的部分是年轻代,有线程新建后先放入年轻代,回收多次都无法回收掉的放入老年代,一般15-6次,具体是取决于你使用的垃圾回收器,但是这个1:2的比列也不是固定不变的,也能够根据设定的参数不同进行调优.等下次扫描时,会将伊甸园区和第一块幸存者区一起扫描,将存活对象存到第二块幸存者区,其余全部回收掉,等下次扫描时,会将第二块幸存者区与伊甸园区一起扫描,将存活后的区域放置到第一块幸存者区中,伊甸园区与幸存者区默认比例为8:1:1.
2022-12-15 17:47:42
499
原创 数据库语句
1.查询查询所有数据库 show databases;查询当前数据库 select database;2.创建create database [if not exists] 数据库名 [default charset 字符集][collate 排序规则];3.删除drop database [if exists] 数据库名;4.使用use 数据库名;5.表操作-创建。
2022-10-24 09:01:28
427
原创 数据库(二)
可以对查询的多条数据进行统计查询, 统计方式包括:求平均值,求最大值,求最小值,求和,计数。○ 第3页的5条数据 limit 10,5。○ 第1页的5条数据 limit 0,5。○ 第2页的5条数据 limit 5,5。- 查询id,姓名,工资和工作,按照工资升序排序 请求第1页的5条数据。- 查询所有员工的姓名和工资,按照工资升序排序,请求第2页的5条数据。
2022-09-05 09:52:58
2182
原创 数据库代码
varchar(m):可变长度, m=5 存 "刘德华" 占3个字符长度,节省空间, 最大值65535但是建议保存255以内的数据,超过255的建议使用text。整数: int(m) 和 bigint(m) , bigint等效Java中的long , m代表显示长度 用来补零。在数据库中创建员工表emp 字段:id,name,sal(工资),deptId(部门id) 字符集utf8。char(m): 固定长度, m=5 存 "刘德华" 占5个字符长度, 执行效率略高, 最大值255。
2022-09-05 09:07:34
738
原创 HTML相关(四)
------my.js:1 外部js代码成功运行!设置行内元素垂直对齐方式: top上对齐, middle中间对齐, bottom下对齐, baseline基线对齐,此处按钮下方与图片下方对齐。设置超出的部分:显示(默认)visible/隐藏hidden/滚动显示scroll,此处图片超出的部分可通过滑动显示条部分查看。运行时,会在控制台输出:内部js代码执行成功,此行在控制台输出。z-index: 设置显示层级,值越大显示越靠前,int值。......
2022-08-31 16:32:47
262
原创 HTML定位相关
特点: 元素脱离文档流(不占原来的位置) ,通过left/right/top/bottom控制元素的位置,让元素相对于窗口(默认)或某一个上级元素做偏移,如果需要相对于某一个上级元素则必须把上级元素改成相对定位作为参照物.特点: 元素不脱离文档流(不管元素显示到什么位置都占着原来的位置),通过left/right/top/bottom控制元素的位置, 让元素相对于初始位置做偏移.特点: 元素脱离文档流, 通过left/right/top/bottom控制元素的位置,让元素相对于窗口做位置偏移.
2022-08-25 15:57:24
537
原创 HTML(三)
inline-block元素可以和其他元素都在一行上,元素的高度、宽度、行高以及顶和底边距都可设置。1)百分比 (容器的内容宽度-背景图片的宽度)*对应的百分比 即为图片要移动的距离 如果您仅规定了一个值,另一个值将是 50%。3)关键词 top/bottom/right/left/center 如果您仅规定了一个关键词,那么第二个值将是"center"。2)长度值 如:px 、em、rem等 图片直接在默认位置向左、向下移动对应长度值即可。如果您仅规定了一个值,另一个值将是50%。
2022-08-25 15:40:43
156
原创 HTML相关
标题:HTML 标题(Heading)是通过 - 等标签进行定义的。段落:HTML 段落是通过 标签进行定义的。绝对路径:访问站外资源时使用, 也称为图片盗链,有找不到图片的风险。3. 资源在页面的下级目录:文件夹名/图片名。2. 资源在页面的上级目录: ../图片名。图片:HTML 图像是通过 标签进行定义的。1. 资源和页面在同一目录:直接写图片名。链接:HTML 链接是通过 标签进行定义的。title:图片标题 悬停在图片上显示的内容。
2022-08-23 19:54:14
172
原创 HTML全局属性
更改元素的文本属性,dir 属性在以下标签中无效:, , , , , , 以及 style 属性将覆盖任何全局的样式设定,例如在 标签或在外部样式表中规定的样式。class属性:class 属性规定元素的类名(classname)。style 属性规定元素的行内样式(inline style)可拖动的属性,链接和图像默认是可拖动的。
2022-08-23 14:53:16
592
原创 注解在反射机制中的应用
格式:类型 参数名() [default 默认值]注:[]中的内容可以写也可以不写.default用于指定该参数的默认值,指定后,在使用注解时如果不为该参数赋值时则采用默认值.例如:当我们在@AutoRunMethod上定义一个参数:使用时:@AutoRunMethod(5): value的值为5@AutoRunMethod(3): value的值为3@AutoRunMethod: value的值使用默认值1。
2022-08-19 20:05:59
250
原创 自动调用与当前类同一个包中类当中所有公开的无参方法
method.getModifiers()== Modifier.PUBLIC//判断是否为公开方法。System.out.println("自动调用:"+method.getName()+"()");System.out.println("实例化对象:"+cls.getSimpleName());method.getParameterCount()==0//判断是否无参。//根据.class文件名获取类名 例如:Person.class。//获取该目录中所有的.class文件。...
2022-08-18 20:11:05
353
原创 JAVA反射机制
反射机制是一个动态机制,它允许我们在程序运行期间再确定实例化,方法的调用,属性的操作等,使得程序的灵活度大大提高,但是随之带来了更多的系统开销和较低的运行效率因此,反射机制不能被过度使用使用反射机制的第一步:获取要操作的类的类对象,即:Class的实例JVM中被加载的类都有且只有一个Class的实例与之对应,该实例就称为被加载的这个类的类对象.类对象上会记录这其表示的类的一切信息(类名,方法信息,属性信息等)1:类名.class:参数要求是要加载的类的完全限定名:包名+类名。...
2022-08-18 20:01:29
150
原创 java.util.Map 查找表
Map体现的结构是一个多行两列的表格。其中左列称为key,右列称为valueMap总是根据key获取对应的valueMap中的key不允许重复(equals判定)Map是一个接口,常用的实现类:java.util.HashMap:散列表,哈希表。散列表是当今查询速度最快的数据结构,被大量应用于缓存服务器中。示例:新建一个查找表向Map中存入一组键值对。...
2022-08-15 19:28:04
335
1
原创 判断file是否存在的方法
file.exists()判断当前file表示的目录或者文件是否存在,存在则返回true。在当前项目目录下新建一个文件:test.txt。判断该位置下是否已经存在了这个文件或者目录。创建一个File表示要创建的文件。...
2022-08-15 19:12:44
3949
原创 java.util.Collection接口
java.util.Collection接口,java中所有的集合都实现了该接口,集合像数组一样,可以保存一组元素,并且对于元素的操作全部封装成了方法,使用便捷集合提供了多种不同的数据结构Collection下面两个常见的子类型java.util.List接口:线性表,是一个可重复且有序的集合java.util.Set接口:不可重复的集合这里重复指的是元素是否重复,而判定重复的标准是依靠元素equals方法比较的结果,equals方法返回true则为重复集合只能存放引用类型的。...
2022-08-15 19:05:26
538
原创 注册网页的实现
在构造器内先alt加insert键Constructor,然后get and set,最后 toString()打个桩。1:获取用户在注册页面上输入的注册信息(通过请求对象获取浏览器提交的表单数据)3:设置响应对象,将处理结果回馈给浏览器。建一个同名的有参构造器。然后建一个无参构造器。...
2022-08-15 18:48:15
603
原创 集合的排序
方法语句:Collections.sort(List list);该方法要求List集合中的元素必须是可比较的,判定是否可比较的标准为元素是否实现了接口当我们使用一个API时,该API反过来要求我们为其修改代码,那么这个API就对我们的程序有侵入性,侵入性不利于程序后期维护,应当尽量避免单独定义比较器(定义Point元素的比较规则)compare方法用于定义o1和o2比较大小的规则,并用返回值表达大小关系.返回值实现的要求:如果返回值>0则表达的是o1>o2。...
2022-08-09 18:49:28
139
原创 集合以及子集的增删操作
将子集每个元素扩大10倍,原集合也发生了改变,对子集的操作就是对原集合对应元素的操作。list接口中提供了一套可通过下标操作元素的方法: E get(int index)将参数给定的集合中的所有元素添加到当前集合中,添加后当前集合发生了改变则返回true。注:在对集合操作的性能没有特别苛刻要求时,通常ArrayList是最好的选择.方法语句: void add(int index,E e)作用:将给定元素e添加到index指定位置,插入元素操作。方法语句: E set(int index,E e)...
2022-08-08 20:35:39
990
原创 数组与集合的相互转换
添加元素相当于要对数组扩容,数组是定长的不可以真实的扩容,因此会抛出不支持该操作的异常.删除也是一样的。如果我们需要增删元素,可另行创建一个集合同时包含该集合元素即可。Collection提供了一个方法:toArray,可以将当前集合转换为一个数组。数组的工具类java.util.Arrays提供了一个静态方法:asList。改集合相当于改数组,但是这个集合不能增删。该方法可以将一个数组转换为一个List集合。相当于先new再addAll。建立数组并转换成集合。...
2022-08-08 20:19:56
900
原创 集合的遍历-迭代器-增强型for循环
泛型也称为参数化类型,允许我们在使用一个类时,传入某个类型来规定其内部的属性,方法的参数或方法返回值的类型,使得我们使用时更加方便.在集合中泛型被广泛使用,用于规定集合中的元素类型.泛型原型为Object,编译器认可 赋值操作时,编译器会检查类型是否匹配,不匹配会编译不通过。注:迭代器默认开始位置是在集合第一个元素之前,因此第一次调用时判断的就是是否有第一个元素,并且无论调用多少次hasNext()方法,迭代器的位置都不会改变.语句方法: E next()迭代器指定的泛型应当与其遍历的集合泛型一致。...
2022-08-08 20:08:44
548
原创 集合以及应用
java.util.Collection接口,java中所有的集合都实现了该接口,集合像数组一样,可以保存一组元素,并且对于元素的操作全部封装成了方法,使用便捷。这里重复指的是元素是否重复,而判定重复的标准是依靠元素equals方法比较的结果,equals方法返回true则为重复。判断当前集合是否包含给定元素,判断依据是给定元素是否与集合元素存在equals比较为true的情况。删除集合中比较为true的元素,若存在相同元素,则只删一个。java.util.List接口:线性表,是一个可重复且有序的集合。.
2022-08-05 18:30:52
272
原创 多线程与同步块
当使用多个synchronized锁定多个代码片段并且指定的同步监视器对象是同一个时,这些代码片段之间就是互斥的。当多个线程并发操作同一临界资源,由于线程切换实际不确定,导致操作临界资源的完整过程出现混乱从而导致各种不良后果。静态方法上使用synchronized后,所有对象不可选,指定的是当前类的类对象。有效的缩小同步范围可以在保证并发安全的前提下尽可能的提高并发效率。临界资源:操作该资源的完整过程同一时刻只能被单线程进行的资源。JVM中每一个被加载的类都有且只有一个Class实例与之对应。...
2022-08-05 18:22:25
135
原创 聊天室3.0
2.监听该端口,一旦一个客户端连接时,就会返回一个Socket实例与其通讯.(accept()方法的作用)1:开启服务端口,客户端就是通过这个端口与服务端进行连接的。
2022-08-05 17:42:32
182
原创 多线程的演示
java中所有的代码都是靠线程执行的,main方法也不例外,运行main方法的线程是JVM创建的,并且取名为“main"* 2:在定义线程同时重写run方法来定义任务,这导致线程与任务存在必然的耦合关系,不利于线程的重用.System.out.println("运行dosome方法的线程:"+t);System.out.println("优先级:"+priority);System.out.println("看热闹的");System.out.println("看热闹的");* 主动索取时间片。...
2022-08-03 18:53:44
138
原创 聊天室2.0
2.监听该端口,一旦一个客户端连接时,就会返回一个Socket实例与其通讯.(accept()方法的作用)1.开启服务端口,客户端就是通过这个端口与服务端进行连接的。
2022-08-03 18:24:22
85
原创 异常的处理问题
通常用于说明项目中那些因为不满足业务而导致的错误自定义异常要做到以下几点1.类名要见名知意2.继承自Exception(直接或者间接继承)3.提供父类异常定义的所有构造器}}}}}}
2022-08-02 19:59:12
214
原创 字节字符流与错误的处理方法
java.IO将流按照读写数据的单位划分为字节与字符流java.io.InputStream和OutputStream是所有字节流的超类,是抽象类java.io.Reader和Writer则是所有字符流的超类字节流与字符流的超类互相不存在继承关系,是平级的。Reader中定义了几个read方法,规定所有字符流都必须具备的读取字符的方法Writer中定义了几个write方法,规定了所有字符流都必须具备的写出字符的方法。...
2022-08-01 19:48:32
637
原创 缓冲流对象流输出流
缓冲字节输入流的read方法第一次调用是会一次性读一组数据进入到内部的缓冲区,然后返回其中第一个字节,第二次调用时会直接将数组中第二个字节返回,直到所有字节均返回后,下次调用read方法会再次块读数据进入数组。节点流也称为低级流,特点是实际链接程序与另一端的流,负责实际读写字节数据的流,读写一定是建立在节点流基础上进行的。节点流也称为低级流,特点是实际连接程序与另一端的流,负责实际读写字节数据的流。文件流就是典型的低级流,是实际连接程序与文件的流,负责读写文件数据。...
2022-07-29 18:06:12
390
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人