Java
文章平均质量分 76
L丶zx
瞌睡中
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
设计一个基础流程系统
业务要求 流程环节可以自定义 流程可自定义指派 具有审批权限的人员才能够看到数据进行相关审批 业务分析 流程需要指定某一个人,或某一个角色进行审批,要么使用某一个人,要么定义个某一个角色,二者不可叠加 已经进入审批环节的数据,即便已经修改流程节点,仍然使用修改之前的流程 业务定义 流程 通过:同意到下一级 驳回到上一级:驳回到当前审批环节的上一级 驳回到发起人:当前审批人驳回到发起人 否原创 2021-06-27 02:33:44 · 352 阅读 · 0 评论 -
Spring --- AOP(2) --- 动态代理
设计模式 动态代理 为其他对象提供一种代理以控制对象的访问权限 使用代理模式创建代理对象,控制目标对象的访问,在不改变目标对象的情况下调价额外的功能 UML类图 优点 代理模式能将代理对象与目标对象分离,一定程度上降低了耦合度 代理模式在客户端和目标对象之间起到了中介作用 代理对象也可以对目标对象添加额外功能 缺点 一定程度上增加了系统的复杂度,降低了性能 ...原创 2020-09-15 22:03:43 · 144 阅读 · 0 评论 -
Spring --- AOP(1)
AOP技术实现 动态代理 预编译 横切关注点 软件开发中,分布于应用中多处的功能被称为横切关注点 主要功能 日志记录 性能统计 安全控制 事务处理 异常处理 其他功能 将无法纵向继承体系的(OOP方式)进行抽象的重复性代码提供了解决方案 AOP术语 连接点(JoinPoint) 程序执行的某个特定位..原创 2020-09-15 22:03:09 · 126 阅读 · 0 评论 -
Spring-IOC(4)
方式: 自动装配 用于减少甚至消除<property>元素和<constructor-arg>元素 自动检测 用于检测需要需要自动识别哪些类需要装配为Bean 自动装配 设置<bean>的autowire属性 byName id需要与属性名一致 依据属性名来匹配 精确匹配 ...原创 2020-09-15 22:02:43 · 112 阅读 · 0 评论 -
Spring-IOC(2)
Spring获取ApplicationContext应用上下文实例的方式 ClassPathXmlApplication(从类路径下的XML配置文件中加载),把应用上下文定义文件当做类资源 ApplicationContext ctx = new ClassPathXmlApplication("com/lzx/context/beans.xml") FileSystemXmlApplicationContext ---读取文件系统下的XML配置文件并加载上下文定义...原创 2020-09-15 22:00:26 · 134 阅读 · 0 评论 -
Spring-IOC(1)
控制反转 通过容器来控制业务对象之间的依赖关系 控制反转是应用本身不负责依赖对象的创建的及维护,依赖对象的创建及维护是由外部容器负责的。 这样的控制权就由应用转移到了外部容器,控制权的转移就是所谓的反转 控制权转移带来的好处就是降低了业务对象之间的依赖程度 依赖注入 方式 构造器注入 方法注入 接口注入 Spring的IoC容...原创 2020-09-14 21:30:47 · 110 阅读 · 0 评论 -
Spring(1)--- 概念
新的技术 AOP(面向切面编程) DI(依赖注入) 概念 Spring是分层的JavaEE应用一站式的轻量级开源框架,以控制反转(InverseofControl , IoC)和面向切面编程(Aspect Oriented Programming,AOP)为内核,提供了表现层SpringMVC 、持久层SpringJDBC以及业务层事务管理等众多的企业级应用技术 特点 方便解耦,简化开发(核心) 通过Sp...原创 2020-09-14 21:29:49 · 106 阅读 · 0 评论 -
Java 多态
定义 相同的行为,不同的实现 一个对象有多种的形式的能力 分类 静态多态 编译时系统决定调用 使用重载实现 动态多态 运行时实现 使用动态绑定和重写实现 动态多态技术 向上转型技术 定义: 一个父类的引用变量可以指向不同的子类对象 一个子对象可以被当做一..原创 2020-09-14 21:26:08 · 153 阅读 · 0 评论 -
Java 静态方法
静态 方便在没有创建对象的情况下来进行调用(方法/变量)。 static修饰的全局变量被称为静态变量,类变量 package sta; public class Sta { public static int a; //类变量 //无论创建多少个对象,类中的类变量也只有一个 public Sta() {} public Sta(int num) { // this.a= nu...原创 2020-09-14 21:24:55 · 270 阅读 · 0 评论 -
Java---集合框架(6)---Collection
Collection (接口)集合框架父接口--->Set和List 静态方法 package function; import java.util.List; import java.util.ArrayList; import java.util.Collections; public class TestFunction { @SuppressWarnings({ "unchecked", "rawtypes" }) public void ...原创 2020-09-14 21:23:56 · 123 阅读 · 0 评论 -
Java---集合框架(5)---Map
键值对形式 增删查改 public class TestMap { public TestMap() Map<String, String> map = new HashMap<String, String>(); map.size(); //在添加时,key重复,相当于值的修改 map.put("key1", "value1"); ...原创 2020-09-14 21:23:13 · 112 阅读 · 0 评论 -
Java---集合框架(4)--- Set
HashSet到底是如何判断两个元素重复。 通过hashCode方法和equals方法来保证元素的唯一性,add()返回的是boolean类型 判断两个元素是否相同,先要判断元素的hashCode值是否一致,只有在该值一致的情况下,才会判断equals方法,如果存储在HashSet中的两个对象hashCode方法的值相同equals方法返回的结果是true,那么HashSet认为这两个元素是相同元素,只存储一个(重复元素无法存入)。 注意:HashSet集合在判断元素是否相..原创 2020-09-14 21:22:19 · 127 阅读 · 0 评论 -
Java---集合框架(3)--- 泛型/Iterator
泛型优点 泛型允许我们为集合提供一个可以容纳的对象类型,因此,如果你添加其它类型的任何元素,它会在编译时报错。这避免了在运行时出现ClassCastException,因为你将会在编译时得到报错信息。 泛型也使得代码整洁,我们不需要使用显式转换和instanceOf操作符。它也给运行时带来好处,因为不会产生类型检查的字节码指令。 Iterator 一个Collection中使用迭代器方法来获取迭代器实例 Iterator<String&..原创 2020-09-14 21:20:32 · 174 阅读 · 0 评论 -
2020-09-14
Comparable < --- > Comparator 比较器,用于排序 Collection/Array --->静态方法、工具类 集合 List :可重复、次序排列 Set :不可重复,内部排序机制 Map:数据对,内部排序机制 ...原创 2020-09-14 21:20:00 · 119 阅读 · 0 评论 -
Java中util.Date和sql.Date的相互转换
Java中Date的两个类 java.util.Date通常情况下用它获取当前时间或构造时间 java.sql.Date是针对SQL语句使用的,它只包含日期而没有时间部分 它们都有getTime方法返回毫秒数,都可以直接构造 代码示例: // util.date转换成sql.date java.util.Date utilDate = new java.util.Date(); //获取当前时间 System.out.println(utilDate); java.s...原创 2020-09-11 20:59:11 · 275 阅读 · 0 评论 -
Java---常用类(4)---StringBuffer/StringBuilder
用于对字符串类型的修改 性能:StringBuilder>StringBuffer>String append() toString() 最近在学习Java的时候,遇到了这样一个问题,就是String,StringBuilder以及StringBuffer这三个类之间有什么区别呢,自己从网上搜索了一些资料,有所了解了之后在这里整理一下,便于大家观看,也便于加深自己学习过程中对这些知识点的记忆,如果哪里有误,恳请指正。 这三个类之间的区别主...原创 2020-09-11 20:58:35 · 146 阅读 · 0 评论 -
Java---数据库---JDBC(3)
//应该在sql语句加limit,根据分页的条件来获取对应数据,再填充进去 1. 对于一些数据库而言,有自己的分页方法。比如MySql使用limit子句实现分页,而Oracle使用rownum来限制结果集的大小和位置。 2. 分页的两个侧路:一种是将全部的内容查询出来再分页(查完再分);一种是根据页要显示的内容去查询(用多少查多少)。其实两种分页方法从字面上很容易理解的,但是具体使用的时候就是查完再分大多用在查询比较复杂的实例上。而用多少查多少是用在结果集很大,而且分页麻烦的实例上。(我在这..原创 2020-09-11 20:57:39 · 96 阅读 · 0 评论 -
Java---数据库---JDBC(2)
开发流程 加载驱动 创建连接对象 创建声明语句对象 执行sql语句 executeUpdate(sql) 完成增删查改 executeQuery (sql) 获得结果集 关闭对象 Class.forName("com.mysql.jdbc.Driver"); con = (Connection) DriverManager.g...原创 2020-09-11 20:52:38 · 81 阅读 · 0 评论 -
Java---数据库---JDBC(1)
JDBC(Java Data Base Connectivity,Java数据库连接),一组API DB Driver 四种驱动程序 JDBC - ODBC Bridge 效率低 Native-API party-Java driver 本地驱动 net-protocal all-Java driver(JDBC Proxy) 网络协议 native-protoc...原创 2020-09-11 20:51:57 · 146 阅读 · 0 评论 -
Java高并发-CAS
概念 比较并交换 表面理解:线程的期望值与主内存的值一致则修改主内存的值,如果不一致则修改线程值 深入理解:CPU并发原语,判断内存中的某个位置的值是否为预期值,如果是则修改 原理 自旋锁 unSafe类 CAS核心类 Native Method就是一个java调用非java代码的接口,其方法实现为非Java语言,解决了一些例如直接的底层控制问题 Unsafe 类存在于sun.misc包中,其通过调用native 方法进行一些底层控制,例如内存操.原创 2020-09-13 15:30:33 · 192 阅读 · 0 评论 -
Java高并发-Volatile
概念 轻量级的同步机制 特征 保证可见性 在某个线程改变变量时及时通知其他线程该变量已被修改 不保证原子性 非线程安全 解决方法 在并发包中提供了多种解决方法,如在进行number++时,可使用AtomicInteger实现增减操作原理:CAS/自旋锁 使用sync 禁止指令重排 指令重排单线程确保最终执行结果和程序顺序一致 处理器在进行重排时必须考虑指令的数据依赖性 多线程环境下由于编译器优化,指令执行顺序会变原创 2020-09-09 21:55:47 · 168 阅读 · 0 评论
分享