- 博客(39)
- 收藏
- 关注
原创 操作系统中汽车过桥同步问题
if(Ncount==0){//判断北向南车辆已经完全过桥时,占用过桥信号量。varN2S,S2N,Bridgesemaphore//定义北向南,南向北,桥三个信号量;Ncount,Scountinteger//定义正在过桥车辆数量。//占用北向南信号量。------通过大桥过桥。...
2022-07-31 21:31:46 466 1
原创 简单理解springaop
全称是面向切面编程通过预编译和运行期动态代理的方式,给程序统一添加功能的方式。是spring框架的重要内容可以减少代码量,降低系统耦合度,程序可复用可扩展
2022-01-24 22:05:43 193
原创 JAVA框架学习-Spring
1.对spring的认识:最开始的spring单单指spring框架自己,但是后面生态发展比较好,再加上对各个中间件的支持,现在已经成为spring家族了。springioc提供了对象的控制反转,不再需要手动创建和管理对象了,而是由spring容器来管理对象和对象的依赖关系。目前的java开发已经离不开Spring框架2. 控制反转IOC有什么作用,从容器的角度来看,把创建和查找依赖对象的控制权交给了ioc容器,这样由容器来 注入,组合对象间的关系,这样对象和对象之间是松耦合, ...
2022-01-21 17:34:57 174
原创 javaweb-Filter
1.过滤器用于过滤指定请求,在这些请求之前执行一些操作2.生命周期:服务器启动时,扫描filter配置或注解。扫描到的拦截器执行init()方法进行初始化。当请求符合拦截规则时进行拦截,执行dofilter()方法。服务器停止后,执行destroy()方法3.创建自定义filter类,实现Filter接口,对几个方法进行实现,配置自定义注解@WebFilter的拦截规则...
2022-01-20 17:48:46 689
原创 初步理解反射机制
秉承万物皆对象的思想,java类加载到内存空间后,类本身可以被当作对象读取到,类所包含的成员变量,方法,构造方法等都可以作为对象读到内存中,我们拿到这些对象后可以用反射的方式对对象进行各种操作。这也是各个框架的实现原理。获取Class对象的方式有三种:1. Class.forName("全类名"):将字节码⽂件加载进内存,返回Class对象2.类名.class:通过类名。属性class来获取类对象3.对象名.getClass()方法获取对象所属类对象结论:同⼀个字节码⽂件(*.c
2022-01-13 19:07:11 130
原创 java进阶之ConcurrentHashMap
初始容量默认为16段(Segment),使⽤分段锁设计。 不对整个Map加锁,⽽是为每个Segment加锁。 当多个对象存⼊同⼀个Segment时,才需要互斥。 最理想状态为16个对象分别存⼊16个Segment,并⾏数量16。 使⽤⽅式与HashMap⽆异。...
2022-01-13 11:04:58 131
原创 JAVA进阶之CopyOnArrayList,线程安全集合
CopyOnWriteArrayList使⽤了⼀种叫写时复制的⽅法,当有新元素添加到CopyOnWriteArrayList时, 先从原有的数组中拷⻉⼀份出来,然后在新的数组做写操作,写完之后,再将原来的数组引⽤指向到新 数组。CopyOnWriteArrayList 的整个add操作都是在锁的保护下进⾏的。 这样做是为了避免在多线程并 发add的时候,复制出多个副本出来,把数据搞乱了,导致最终的数组数据不是我们期望的。由于所有的写操作都是在新数组进⾏的,这个时候如果有线程并发的写,则通过锁来控
2022-01-13 10:41:34 3117
原创 JAVA进阶-线程等待唤醒机制
线程之间除了抢占式调用这种竞争的关系外还有一种合作的关系,如何使多个线程协调一致,有序的完成一件事情,这里就用到了线程的等待唤醒机制。package com.rxsoft.part11;//顾客线程和老板线程说,我要什么//老板线程给顾客线程相应的产品public class Demo { public static void main(String[] args) { Object lock=new Object(); //充当协调者的角色 new
2022-01-11 16:31:42 244
转载 JAVA进阶之ReenTrantLock
import java.util.concurrent.locks.ReentrantLock; /** * Created by haicheng.lhc on 17/05/2017. * * @author haicheng.lhc * @date 2017/05/17 */public class ReentrantLockTest extends Thread { public static ReentrantLock lock = new ReentrantLoc...
2022-01-11 13:45:53 132
原创 java进阶之treeset
如果要添加到treeset集合中,那么该对象的类必须实现Comparabel接口,并且重写compareTo<T>这个比较方法,这样的话treeset集合才能进行排序@Overridepublic int compareTo(Cat o){if(this.getAge()>o.getAge()){return 1;}else if (this.getAge()<o.getAge()){ return -1;}...
2022-01-04 22:42:49 187
原创 java进阶之Set集合
Set集合无序不可重复,而List集合有序可以重复如果希望自定义类型的成员相同时不允许重复添加,需要重写自定义类型的hashCode()和equals()方法hashCode()通过Objects.hash(Object...o)把需要判断重复的字段传入 来计算出hash值...
2022-01-03 23:41:25 101
原创 java进阶ArrayList和LinkedList区别
ArrayList底层是数组结构,具有下标索引所以查找快,由于日常开发中使用最多的是查询遍历数据所以ArrayList最常见数组结构的特点是长度固定,如果要新增元素的话需要创建一个新数组,然后把新数组的数据复制过来,在堆中频繁创建删除数组,效率低下LinkedList底层是链表结构,方便元素的新增和删除,访问和遍历相对于ArrayList较慢...
2022-01-03 23:13:40 248
原创 java进阶泛型
定义类,方法,集合等数据类型类定义package com.rxsoft.part;public class Point <T>{ private T x; private T y; private T z; public T getX() { return x; } public void setX(T x) { this.x = x; } public T getY() {
2022-01-03 22:41:15 92
原创 java基础值传递和址传递
基本数据类型是值传递引用数据类型是址传递也叫引用传递package part10;public class TestSystem { public static void changeNum(int num){ num=34; } public static void changePerson(Person person){ person.setAge(10); person.setName("俊燕"); ..
2022-01-03 00:20:32 220
原创 java基础StringBuilderStringBuffer
String是不可变类,对String的修改会在内存中生成新的内存地址和值StringBuffer是线程安全的,StringBuilder是线程不安全的,其它都一样StringBuffer可以在多线程程序里使用,StringBuilder不能在多线程程序里使用...
2022-01-02 23:07:37 152
原创 java基础String内存分析
String str1="abcd";1.直接赋值的方式,字符串的值存在了方法区中的字符串常量池中String str2=new String("abcd");2.使用new的方式,字符串的值存在了堆中两种方式都在栈中通过地址来指向String str3="ab";String str4="cd";String newStr=str3+str4;3.两个字符串的相加实际是使用了StringBuilder可变字符串类,所以相当于是在堆中新建了一个变量4....
2022-01-02 22:44:15 191
原创 java基础 异常
java异常分为ERROR和EXCEPTIONexception可以处理而error是不能处理的package part7;public class ExceptionDemo { public static void main(String[] args) { int[]arr = {1,2,33,3}; //Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException:
2022-01-02 21:50:09 146
原创 java抽象类
抽象类用于表示现实世界中不存在具体对象的事物,更方便进行描述抽象类:包含抽象方法的类叫做抽象类抽象类意思是不够完整的类,不够具体的类抽象方法:没有方法体的方法叫做抽象方法抽象方法只能用于被子类继承后实现类似于接口...
2022-01-01 23:48:52 57
原创 java基础Object类
getClass()获取对象所属类toString()输出打印内容,可重写equals()判断对象值是否相等,而==是判断内存地址是否相等
2022-01-01 23:09:43 66
原创 java基础多态
多态分为类继承和接口实现两种现实世界体现为事物的多种形态程序里一般是父类引用变量指向子类对象转型分为向上转型和向下转型向上转型为子类对象转为父类引用向下转型为已经转为父类引用对象强转为实际子类对象...
2022-01-01 22:38:29 148
原创 java final关键字
final修饰类:不能被继承final修饰方法:不能被重写覆盖。不支持子类任何形式修改final修饰变量:此变量不能被改变(常量)
2022-01-01 20:57:02 125
原创 java static关键字
static关键字可以修饰方法和属性,被static修饰后的方法和属性被全类的所有对象所共享,被称为静态变量和静态方法,也可以称为全局变量和全局方法
2022-01-01 15:54:42 53
原创 java this关键字
this代表所在类的当前对象的引用(地址值),即对象自己的引用方法被哪个对象调用,方法中的this就代表那个对象。即谁在调用,this就代表谁还可以解决变量名重复的问题,例如类的变量和方法传入的参数变量名称重复,就可以给类的变量使用this.变量名...
2021-12-31 22:51:46 140
原创 java break和continue
break用法:1.在switch结构中用于跳出当前分支代码2.用于跳出循环并终止循环代码continue用法:用于跳出本次循环的代码,下一次循环继续执行
2021-12-31 21:59:46 64
原创 springboot知识点-长期更新
1.@RestController 等于@Controller 加上@ResponseBody ,当方法只添加@RequestMapping注解时,返回值为响应的文件路径,例如list.jsp,该访问请求就会响应该list.jsp文件,若文件不存在则404,如果加上@ResponseBody后,则返回值将会直接写入responsebody中,例如要返回JSON字符串这种情况.2.@Value注...
2020-01-03 09:50:18 131
转载 【数据结构】数据结构-图的基本概念
图(Graph)结构是一种非线性的数据结构,图在实际生活中有很多例子,比如交通运输网,地铁网络,社交网络,计算机中的状态执行(自动机)等等都可以抽象成图结构。图结构比树结构复杂的非线性结构。图结构构成1.顶点(vertex):图中的数据元素,如图一。2.边(edge):图中连接这些顶点的线,如图一。 图一 所...
2019-10-18 10:09:11 681
转载 二分查找元素求比较次数
在顺序表 { 12、15、17、20、24、30、38、43、45、51、52} 中,用二分法查找关键码 20需做( ) 次关键字比较。解:数值 12 15 17 20 24 30 38 43 45 51 52下标 0 1 2 3 4 5 6 7 8 9 10...
2019-10-16 12:10:58 28258 2
转载 树、森林与二叉树的转换
树、森林与二叉树的转换1、树转换为二叉树由于二叉树是有序的,为了避免混淆,对于无序树,我们约定树中的每个结点的孩子结点按从左到右的顺序进行编号。将树转换成二叉树的步骤是:(1)加线。就是在所有兄弟结点之间加一条连线;(2)抹线。就是对树中的每个结点,只保留他与第一个孩子结点之间的连线,删除它与其它孩子结点之间的连线;(3)旋转。就是以树的根结点为轴心,将整棵树顺时针旋转一定...
2019-10-16 11:29:23 1455 1
转载 已知二叉树的先序遍历和中序遍历画出该二叉树
对一棵二叉树进行遍历,我们可以采取3中顺序进行遍历,分别是前序遍历、中序遍历和后序遍历。这三种方式是以访问父节点的顺序来进行命名的。假设父节点是N,左节点是L,右节点是R,那么对应的访问遍历顺序如下:前序遍历 N->L->R 中序遍历 L->N->R 后序遍历 L->R->N所以,对于以下这棵树,三种遍历方式的结果是前...
2019-10-16 11:27:24 6239
转载 关于Maven项目build时出现No compiler is provided in this environment的处理
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/lslk9898/article/details/73836745近日有同事遇到在编译Maven项目时出现[ERROR] No compiler is provided in this environment. Perhaps you ...
2019-09-26 17:41:27 118
转载 ER 和 数据库关系模式
我们眼下所接触的数据库基本上是关系数据库,关系数据库中的关系模式是型,而关系是值。关系模式是对关系的描写叙述。什么是关系?关系实质上是一张二维表,当中每一行是一个元组,每一列是一个属性,每一个元组是该关系涉及到属性集合笛卡尔积的一个元素。(笛卡尔积是这种一个集合。集合中的元素是有序对,若A={0,1}B={a,b}则:A*B={<0,a>,<0,b>,<1,a&g...
2019-04-12 17:53:30 4348
转载 理解超键、候选键、主键概念及关系
1.基本概念超键(super key):在关系中能唯一标识元组的属性集称为关系模式的超键/码。候选键(candidate key):不含有多余属性的超键称为候选键,即其真子集不再是超键。主键(primary key):用户选作元组标识的一个候选键称为主键,是候选键之一。2.关系候选键是超键的子集,主键是候选键中的一个。3.举个栗子考虑属性集(身份证号,姓名 ,性别 ,年龄),假设...
2019-04-12 17:18:05 4727 2
原创 解决使用Iterator迭代器遍历ArrayList集合时,报java.lang.IllegalStateException
A集合 {Object{khhykh khtplj khjkmd}...........}B集合 {Object{khhykh khtplj}...........}求A集合中 Object.khhykh 和B集合中Object.khhykh相等的数据? 这个问题需要对AB两个集合进行嵌套遍历,但是由于A集合中有重复值,导致迭代器在删除时未找到对应的集合元素....
2019-02-13 11:21:44 1413
原创 存储过程学习记录-返回的cursor结果集如何在PLSQL中解析
create or replace procedure rxwl_proc_getdxjl( sms_cur out sys_refcursor)asbegin open sms_cur for select dxjsno,dxfsrq,dxfsnr,lxrydm,dxfsbz,dxfsjb from ...
2018-12-21 14:26:43 1625
转载 Java IO流学习总结一:输入输出流
转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/54292148本文出自【赵彦军的博客】Java流类图结构:流的概念和作用流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。IO流的...
2018-08-03 17:31:51 147
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人