摘要: 一、饿汉式 单例设计模式,简单说:一个类只有一个实例对象。 单例设计模式核心:因为内存、所以性能。 饿汉式是指,这个类一旦加载,这个类的实例就被创建。而加载某个类到内存中由调用这个类的静态成员触发。单例模式里面的... 阅读全文
posted @ 2022-07-17 12:16 小大宇 阅读(39) 评论(0) 推荐(0)
摘要: 现在有如下的一条超链接 " target="_blank">${article.title} 这条超链接的特点就是在URL路径中添... 阅读全文
posted @ 2022-07-17 12:16 小大宇 阅读(104) 评论(0) 推荐(0)
摘要: 一、转义 大于号: > 小于号: < 二、CDATA标签 第二种办法就是使用CDATA 阅读全文
posted @ 2022-07-17 12:16 小大宇 阅读(215) 评论(0) 推荐(0)
摘要: 一、使用${ } 不能够防止SQL注入。MySQL与Oracle通用 二、把模糊查询的 %加上引号 就像这样子, "%"#{param}"%" 多个匹配条件可以像这样写 三、使用函数进行拼... 阅读全文
posted @ 2022-07-17 12:16 小大宇 阅读(105) 评论(0) 推荐(0)
摘要: 一、在MySQL数据库中 在mysql数据库中,使用的是foreach标签。 foreach元素的属性主要有 collection,item,index,open,separator,close。 常用的有 it... 阅读全文
posted @ 2022-07-17 12:16 小大宇 阅读(65) 评论(0) 推荐(0)
摘要: 一、在MySQL数据库中的写法 在mysql数据库中,写法比较简单。在Mybatis配置文件中添加 userGeneratedKeys="true" keyProperty="id",这样就能把我们插入的实体的主键id赋值。下次使用的时候,再... 阅读全文
posted @ 2022-07-17 12:16 小大宇 阅读(466) 评论(0) 推荐(0)
摘要: 今天又发现了一个新的问题,Shiro的拦截器不能够拦截ajax请求,需要自定义一个拦截器来拦截ajax请求。 package com.ssi.domains.secutity;import org.apache.shiro.SecurityUt... 阅读全文
posted @ 2022-07-17 12:16 小大宇 阅读(77) 评论(0) 推荐(0)
摘要: 一、关于HashSet的一些结论 HashSet在它的构造函数中,封装的是HashMap,因此理解了HashMap,HashSet就显得非常非常简单。怪不得好多大佬在分析结合框架源码的时候,都没有关于HashSet的文章,自己去看了源码才知道... 阅读全文
posted @ 2022-07-17 12:16 小大宇 阅读(44) 评论(0) 推荐(0)
摘要: 一、HashMap的基本结构 HashMap是Map接口的实现类,是一个双列集合,内部使用的是“键值对”存储数据,允许null做为“键”。这个是以前在上学的时候,可以摇头晃脑的说出来的。今天,我们就来探索一下HashMap的源码,解开HashM... 阅读全文
posted @ 2022-07-17 12:16 小大宇 阅读(133) 评论(0) 推荐(0)
摘要: 一、LinkedList链表的基本结构 链表,可以简单的理解为一个链子。链子的特点就是一环套一环。当我们需要某一环的时候,只要我们拥有链子的任意一环,都能够找到我们想要的那一环。LinkedList可以看成是一个双向的链表。我们知道ArrayL... 阅读全文
posted @ 2022-07-17 12:16 小大宇 阅读(123) 评论(0) 推荐(0)
摘要: 一、ArrayList是什么 ArrayList可以看成是一个动态的数组,它的内部是通过数组实现的。为什么称它为“动态”数组呢?因为ArrayList拥有“扩容”机制。当ArrayList的长度不够的时候,它将会通过Arrays.copyof(... 阅读全文
posted @ 2022-07-17 12:16 小大宇 阅读(62) 评论(0) 推荐(0)
摘要: 一、内部类的定义 将一个类的定义放在另外一个类的内部,这就是内部类。内部类的特点,我们用一个例子来引出。 /** * Created by jay.zhou on 2018/2/23. */public class Outer { pri... 阅读全文
posted @ 2022-07-17 12:16 小大宇 阅读(38) 评论(0) 推荐(0)
摘要: 本系列任务是把以前的所有资源重新维护总结,以便夯实基础。主要目的是把之前的Java代码系统的整理一遍,并且添加上现在在公司里的新理解。主要目的是掌握更牢固的Java基础,并且提升更加深厚的Java内功。主要整理的资源有《Java编程思想》,《毕向... 阅读全文
posted @ 2022-07-17 12:16 小大宇 阅读(21) 评论(0) 推荐(0)
摘要: 一、shiro的标签 首先,你需要知道的是,标签的实质其实是Java代码。你已经知道,JSP实质也是Java代码,更别说用在JSP中的标签了。 稍后你会在源码追踪环节了解到:Shiro标签执行了哪些Java代码。 标签的作用就是... 阅读全文
posted @ 2022-07-17 12:16 小大宇 阅读(234) 评论(0) 推荐(0)
摘要: 前言 与WEB集成想了一下,还是要弄一个例子。至少应该展示一下拦截器的基本用法。如果你有幸看到这里,希望你能继续跟着大宇的思路走下去。我将想你展示我编写代码的流程。与Spring集成先不要着急,我会在后面的小节详细向你讲述。现在,让我们先来搞定... 阅读全文
posted @ 2022-07-17 12:16 小大宇 阅读(44) 评论(0) 推荐(0)
摘要: 一、Shiro框架携带的拦截器 首先来温故一下最常见的shiro拦截器。anon表示不拦截,authc表示需要认证,roles表示需要某种角色,perms就更狠了,直接表明需要某种权限。ssl是https相关的拦截器,上次项目中客户要求以htt... 阅读全文
posted @ 2022-07-17 12:16 小大宇 阅读(605) 评论(0) 推荐(0)
摘要: 前言 本小节仅仅是分析shiro的WEB环境加载的过程。有时候我们在使用框架或者集成其它插件的时候,可能会遇到各种各样启动的问题,这个时候能够去追踪源码,找到问题所在,也是我们开发人员的必备技能之一。 一、与WEB集成的配置 还... 阅读全文
posted @ 2022-07-17 12:16 小大宇 阅读(39) 评论(0) 推荐(0)
摘要: 一、授权流程 在上一小节中,我们通过门面对象Subject.hasRole(String role) 、 Subject.checkPermissions(String permission)等接口,来判断用户是否拥有指定的角色信息或权限信息。... 阅读全文
posted @ 2022-07-17 12:16 小大宇 阅读(60) 评论(0) 推荐(0)
摘要: 一、授权的理解 你是谁,你是谁决定了你的身份是什么,你的身份决定了你能干什么。 这里牵扯出三种对象。 用户对象user:当前操作的用户。 角色对象role :表示一组 "权限操作许可权" 的集合。... 阅读全文
posted @ 2022-07-17 12:16 小大宇 阅读(495) 评论(0) 推荐(0)
摘要: 撤销提交: git reset HEAD fileName https://blog.csdn.net/ligang2585116/article/details/71094887 一、与远程仓库交互 (1)将当前的项目上传到GitHu... 阅读全文
posted @ 2022-07-17 12:16 小大宇 阅读(33) 评论(0) 推荐(0)
摘要: 最新想复习一下以前学过的几种排序,凑合着看吧,说不准哪天又忘了,回头还得指望这篇博客呢 package me.jea.array;import java.util.Arrays;public class MyTest { public static void ... 阅读全文
posted @ 2022-07-17 12:16 小大宇 阅读(34) 评论(0) 推荐(0)
摘要: 一、搭建基本页面 导入页面的依赖并且关闭页面的缓存。 org.springframework.boot spring-boot-starter-thymeleaf spring.thymeleaf.cache=false ... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(94) 评论(0) 推荐(0)
摘要: 常用表达式的例子 每隔5秒执行一次:*/5 * * * * ? 每隔5分钟执行一次:0 */5 * * * ? 每天5点执行一次:0 0 5 * * ? 每月1号凌晨1点执行一次:0 0 1 1 * ? 每月最后一天23点执行一次:0 0 23 L * ?... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(100) 评论(0) 推荐(0)
摘要: 一、使用Redis实现session共享 Cookie 保存在客户端浏览器中,而 Session 保存在服务器上。客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上,这就是 Session。客户端浏览器再次访问时只需要从该... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(511) 评论(0) 推荐(0)
摘要: 一、Redis基本操作 先导入我的Redis储备知识:从头开始学Redis Redis 支持多种数据类型,字符串string、哈希hash、列表list、集合set、有序集合zset。 二、在SpringBoot中集成Redis... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(103) 评论(0) 推荐(0)
摘要: 一、WebSocket第一次使用 首先要掌握的是webSocket的4个事件。 open eventSokcket @OnOpen连接建立时触发message eventSokcket @OnMessage客户端接收服务端数据时触发error... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(398) 评论(0) 推荐(1)
摘要: 一、概述 在MySQL数据库中,如果在insert语句后面带上ON DUPLICATE KEY UPDATE 子句,而要插入的行与表中现有记录的惟一索引或主键中产生重复值,那么就会发生旧行的更新;如果插入的行数据与现有表中记录的唯一索引或者主... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(834) 评论(0) 推荐(0)
摘要: 一、使用foreach 注意点:Java的List需要传 List。 解析后效果: SELECT * from t_article WHERE id in ( 21 , 22 ,23 ) 删除实例与插入实例大同小... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(309) 评论(0) 推荐(0)
摘要: 11.1 字段上移 两个子类拥有相同的字段,将该字段移动到超类。 本重构优势在于:去除重复声明,并去除重复行为。 11.2 函数上移 有些函数,在各个子类中产生完全相同的效果。若函数签名不同, 修改函数签名到... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(37) 评论(0) 推荐(0)
摘要: 10.1 函数改名 当函数的名称未能够揭函数的用途,那么就修改函数的名称。 抽取出来的方法虽然可重用性与可复写性变高,但需要将它们的起一个好名字。否则我将会需要费劲周折来弄清楚这些函数的功能。有一个比较好的办法,先为这个函数增... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(34) 评论(0) 推荐(0)
摘要: 9.1 分解条件表达式 如果有一个非常复杂的条件(if--then--else),可以将 if then else 三个段落中分别提炼出独立的函数。 if 语句若有多个条件,按其意图抽取函数,并按意图命名,则代码可读性将大... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(60) 评论(0) 推荐(0)
摘要: 放低自己的姿态 下面的这一大段话都是武哥的话,原文:同样是程序员,为什么别人比你更优秀? "是在分享还是在吹逼,这点我们一下子就能辨别出来,我也有所谓的朋友经常在我面前吹牛逼,可能这是一个人的本性,每次跟我聊天都要海吹一波,我只... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(40) 评论(0) 推荐(0)
摘要: 7.1 搬移函数 当前类中的某个方法,却与其它类配合的更加紧密,那么应该把原类的方法迁移到其它类中。如果用到了当前类中少许字段或者方法,可用方法参数来传递当前字段或者对象。在迁移方法成功后,将当前类的旧函数变成一个单纯的委托函数,或是将旧函数... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(58) 评论(0) 推荐(0)
摘要: 6.1 提炼函数 将小的功能抽取为函数,并将其方法名作为注释,所以,需要在方法名上下一点功夫。 抽取小的功能的优势在于两点:(1)可复用这个小功能(2)便于重写 函数名应该以其意图而命名,而不是以如何去做命名。... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(46) 评论(0) 推荐(0)
摘要: 14.1 Redis到底是什么? 在上一小节中学习了如何在Java中使用Redis。在Java中使用Redis,只要使用Redis提供的JeRis接口即可。 拨云见日 原来在Java中使用Redis只需要使用Redis提... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(31) 评论(0) 推荐(0)
摘要: 13.1 安装驱动 Redis提供了一个客户端类redis.clients.jedis.Jedis,它能够帮我们在Java中使用Redis缓存。 首先是添加依赖Redis JAR 包。 redis.clients ... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(673) 评论(0) 推荐(0)
摘要: 12.1 备份 语法:SAVE 备份的数据库在 redis 安装目录中创建dump.rdb文件。 SAVE 12.2 恢复 恢复很简单,只需要把dump.rdb文件移动到Redis安装目录下即可。 ... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(62) 评论(0) 推荐(0)
摘要: 11.1 验证密码是否正确 语法:AUTH PASSWORD AUTH “password” #我本机提示我没有设置密码 11.2 查看Redis服务器是否开启 语法:PING 连接正常返... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(28) 评论(0) 推荐(0)
摘要: 10.1 EVAL命令 Redis 脚本使用 Lua 解释器来执行脚本。执行脚本的常用命令为 EVAL。 语法格式: EVAL script numkeys key [key ...] arg [arg ...] sc... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(59) 评论(0) 推荐(0)
摘要: 8.1 开始事务 一个事务从开始到执行会经历以下三个阶段: 开始事务。MULTI命令入队。EXEC执行事务。 Redis的事务有几个特点: (1)单个命令原子性,即单个命令要么执行,要么就不执行,不会执行到一半就... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(37) 评论(0) 推荐(0)
摘要: 8.1 订阅 Redis的发布订阅其实就是一种消息交换模式。用设计模式的角度来理解就是“观察者设计模式”。 订阅语法:SUBSCRIBE ChannelName SUBSCRIBE myChannel #按C... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(32) 评论(0) 推荐(0)
摘要: 7.1 设值 与Set一样,ZSet也是存储的字符串string,并且不能重复,但是它是有序的。 每个元素都会关联一个double类型的分数,称之为权重Score。 设值语法:ZADD ZSetName ... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(81) 评论(0) 推荐(0)
摘要: 6.1 设值 Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。 可以将Redis中的Set理解为Java中的HashSet集合。 设值语法:SAD... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(60) 评论(0) 推荐(0)
摘要: 1.设置黑色主题 File -- Settings -- Appearance&Behavior -- Appearance 面板 -- Theme ,选择Darcula 2.设置代码编辑框的字体大小 File -- Settings -- Editor -... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(754) 评论(0) 推荐(0)
摘要: 5.1 设值 LPUSH ListName Value Lpush 命令将一个或多个值插入到列表头部。 LPUSH newList valueA valueB 5.2 取值 L... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(69) 评论(0) 推荐(0)
摘要: 4.1 设值与取值 哈希(hash),又名键值对。是一个string类型的key和value的映射集,hash特别适合用于存储对象。 设值语法:HMSET MapName KeyName Value 取... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(206) 评论(0) 推荐(0)
摘要: 3.1 设值与取值 设值命令SET StrKey StrValue 取值命令GET StrKey SET myString myStringVal GET myString 3.2 设置有时间的Ke... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(43) 评论(0) 推荐(0)
摘要: 常用的命令需要记住。不只是string类型用到,hash类型也有key,好像其它所有类型都有Key。 2.1 删除KEY DEL KeyName 删除Key SET myKey myValue GET myKey... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(62) 评论(0) 推荐(0)
摘要: 1 运行Redis Redis安装步骤:https://www.jianshu.com/p/e16d23e358c0 命令行切换到Redis安装目录,输入 redis-server.exe redis.windows.co... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(683) 评论(0) 推荐(0)
摘要: 1.使用LIKE关键字可能触发不了索引 首先执行下面的SQL,准备一些数据。 DROP TABLE IF EXISTS t_student;CREATE TABLE `t_student` ( `id` int(11) NOT NULL AU... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(28) 评论(0) 推荐(0)
摘要: 存储过程与存储函数的补充 MySQL的存储过程与存储函数有什么区别? 存储函数只能通过return语句返回单个值或者表对象。 存储过程不能用return,但是可以使用多个out参数返回多个值。 存储过程如何修改代码... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(56) 评论(0) 推荐(0)
摘要: 10.2.1 调用存储过程 存储过程必须使用CALL语句来调用。如果要调用其它数据库的存储过程,需要指定数据库名称。例如 CALL dbname.spname DROP TABLE IF EXISTS t_student;CREATE TAB... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(95) 评论(0) 推荐(0)
摘要: 10.1.6 流程控制的使用 (1)IF语句的使用。 DROP PROCEDURE IF EXISTS testIf;DELIMITER //CREATE PROCEDURE testIf(OUT result VARCHAR(255))BE... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(46) 评论(0) 推荐(0)
摘要: 8.1.1 为表的所有字段插入数据 标准的插入语法为:为表中的所有的列插入数据,一 一对应。 使用该语句的时候,字段列和数据值的数量必须相同。 INSERT INTO table_name(COLUMN_L... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(44) 评论(0) 推荐(0)
摘要: 7.6.1 合并查询结果集 如果使用UNION ALL 可以连接多条查询语句,并将它们的结果集组合起来。 语法为 SELECT column ,... FROM table1 UNIO... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(57) 评论(0) 推荐(0)
摘要: 7.5.1 带ANY、SOME、ALL的子查询 子查询是指一个查询语句嵌套在另外一个查询语句中的查询。 在SELECT子句中先计算子查询,子查询结果作为来外外层另外一个查询的过滤条件。即另外一个查询的查询条件就是子查询中返回的... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(44) 评论(0) 推荐(0)
摘要: 7.4.1 内连接 内连接通过比较运算符在不同的表之间操作,并列出不同的表中连接条件相同的数据行,将其拼接成新的记录。也就是说,只有满足条件的记录才能出现在结果关系中。 DROP TABLE IF EXISTS t_student;CREAT... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(61) 评论(0) 推荐(0)
摘要: 有时候并不需要返回实际表中的数据,而知识对数据进行总结。MySQL提供了相关的聚合函数,常见的聚合函数有: AVG()、COUNT()、MAX()、MIN()、SUM() GROUP BY 与 聚合函数一起使用,将会对每... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(126) 评论(0) 推荐(0)
摘要: 7.2.11 对查询结果进行排序 根据字母进行排序,或者根据数字进行排序。默认是升序 ASC SELECT f_name, f_id, s_idFROM fruitsORDER BY f_name; 降序的话,只需要加上 DES... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(43) 评论(0) 推荐(0)
摘要: 7.2.1 查询所有字段 使用通配符 * 来查询所有数据 SELECT * FROM fruits; 优点:当不知道表的列名称的时候,可以节约时间,快速知道列的名称。 缺点:获取不需要的数据可能会降低... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(58) 评论(0) 推荐(0)
摘要: 一、大宇想说的话 大宇大学毕业已经四个月了,这四个月有懒惰的时候,有努力的时候。回首自己走过的路,只有毕业设计最能浓缩我的所学。我早就有这个打算:把自己的毕业设计与大家分享,但一直没有用行动落实。这个周末我下决心,牺牲一些游戏的时间,要把这个事... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(157) 评论(0) 推荐(0)
摘要: 6.3.2 合并字符串 CONCAT(S1,S2,S3) CONCAT_WS(X,S1,S2,S3) WS的全称:With Separator,即带分隔符 CONCAT常用于连接字符串。如果有NULL,则返回NULL。 ... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(37) 评论(0) 推荐(0)
摘要: 5.3.2 算术运算符 保留4位小数。如果除以的是0,那么返回的是NULL。 DROP TABLE IF EXISTS t_operation;CREATE TABLE t_operation( number INT);INSER... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(62) 评论(0) 推荐(0)
摘要: 5.1.4 字符串类型 (1)char与varchar 长度是否可变,具体长度是什么,存的时候,取的时候 char是固定长度的字符串,字符串长度由定义的时候指明。如果插入的字符串没有达到定义的长度,那么就用空格补充。在取... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(47) 评论(0) 推荐(0)
摘要: 5.1.1 整数类型 整数类型 TINYINT SMALLINT MEDIUMINT INT BIGINT 。分别占12348字节。 INT(11)后面的数字11,表示的是这个数据能够显示的宽度。显示宽度只用于显示... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(39) 评论(0) 推荐(0)
摘要: 把数据存放到 Session中,然后在页面 使用 写Java脚本片段。最后再取出Java对象中的数据。 突然觉得自己眼高手低了,以前最最基础的JavaWeb已经忘记,那些最基本的Servlet的生命周期也快忘光,我记得有4个域... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(91) 评论(0) 推荐(0)
摘要: 一、为什么要用ConcurrentHashMap 经典讲解为什么并发不用HashMapHashMap为什么是线程不安全的?_mydreamongo的博客-CSDN博客_hashmap为什么线程不安全 你需要拥有的前置知识... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(30) 评论(0) 推荐(0)
摘要: 注意点提醒: 表结构变化之前要备份,因为数据是无法恢复的。 不是每张表都是需要主键的! 有外键关联的两张表必须使用相同的存储引擎。 自增属性默认从1开始。如果你插入的id是5,那么下次... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(73) 评论(0) 推荐(0)
摘要: 前言:哇,这一章是真的费劲,以前是知其然,这次探索了如此多的同步组件的源码,终于是知其所以然了。 下一步也能开发自己的同步组件了,嘎嘎。 - - - - - - - - - - - - - - - - - - - - - -... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(29) 评论(0) 推荐(0)
摘要: 4.1.2 为什么要使用多线程? 一个线程在同一时刻只能运行在一个处理器核心上。如果程序使用多线程,那么程序就会被分配到多个处理器核心上,这样就会显著减少程序的处理时间,并且随着更多处理器核心的加入,程序的执行会变得更有效率。P... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(30) 评论(0) 推荐(0)
摘要: 3.1 原文:Java线程之间的通信由Java内存模型(JMM)控制,JMM决定一个线程对共享变量的写入何时对另外一个线程可见。P22 Java内存模型JMM定义了写到本地内存中的数据何时刷新到主存中。 原文:线... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(27) 评论(0) 推荐(0)
摘要: 1.1 原文:时间片是CPU分配给各个线程的时间。P1 时间片是CPU分配给各个线程的时间,一般是几十毫秒。 原文:上下文切换P1 任务从保存到再加载的过程是一次上下文切换。一个任务可能没有执行完... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(26) 评论(0) 推荐(0)
摘要: 一、读写锁基本特性 我们知道,对锁性能的优化其中有一条:如果操作互不影响,那么锁就可以被分离。这就是锁分离的思想。 ReentrantReadWriteLock可重入的读写锁。读写锁在同一时刻允许多个读线程访问,但是在写线程... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(99) 评论(0) 推荐(0)
摘要: 参考文章:https://blog.csdn.net/tlk20071/article/details/75729675 一、自增:不加锁线程不安全 public class AtomicDemo { //定义一个共享变量 private int ... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(32) 评论(0) 推荐(0)
摘要: 早上心态崩了,为什么这些东西这么难,这些东西到底有什么用? 好吧,我又一次怀疑人生了,但是脑海中一直有一个声音反驳那个问题:“学这些有什么用?又用不到!”。 我好像把"不会"与"不用"因果关系弄颠倒了,我是因为 ... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(43) 评论(0) 推荐(0)
摘要: 一、volatile 与 synchronized 关键字 的原理 Java代码首先会被编译成字节码文件。字节码文件被加载到JVM中,JVM将字节码翻译成汇编指令,从而在CPU中执行。 谈到volatile关键字,就会想到两... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(45) 评论(0) 推荐(0)
摘要: 一、ThreadLocal的基本定义 官方定义:当使用 ThreadLocal 维护(set)变量时,ThreadLocal 为每个使用该变量的线程提供(get)独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对应... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(170) 评论(0) 推荐(0)
摘要: 一、Future模式的基本思想 如果某个方法的执行过程非常耗时,并且我们又不着急要这个方法的返回结果。 假设在单线程情况下,我们就必须要等待。 这个时候,可以修改此耗时的方法,让其立即返回客户端一个伪造的数据。 ... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(59) 评论(0) 推荐(0)
摘要: 一、CountDownLatch类语法要点 (1)构造函数接收计数器的值。 (2)被计数的任务线程执行完毕后,记得调用一次 latch.countDown()方法,提示CountDownLatch对象,当前线程已经执行完毕。... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(801) 评论(0) 推荐(0)
摘要: 在 java.lang.Thread.State类中,定义了线程的状态。 线程的状态 NewNew状态是线程实例化后还没有执行start()方法的状态。new Thread().getState();RUNNABLE ... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(28) 评论(0) 推荐(0)
摘要: 一、Oracle 在Oracle数据库中批量更新。需要传递一个List集合,然户进行循环执行SQL语句。 参考网站:https://www.cnblogs.com/feixian/p/5960111.html 如... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(283) 评论(0) 推荐(0)
摘要: 5.1 原:Timer类的主要作用就是设置任务,TimerTask类用于封装任务。P241 Timer开启一个线程,可以通过构造器接收true将其作为守护线程。new Timer(true); 如果Timer t... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(35) 评论(0) 推荐(0)
摘要: 4.1.1 原:调用ReentrantLock对象的lock()方法获取锁,调用unlock()方法释放锁。P201 Lock lock = new ReentrantLock(); 如果不调用lock.unlo... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(36) 评论(0) 推荐(0)
摘要: 3.1.3 调用wait()或notify()等方法的对象,必须是同步锁对象,否则抛出IllegalMonitorStateException. 比如同步方法中只能是 this.lock()。 wait()使当前... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(44) 评论(0) 推荐(0)
摘要: 2.1.1 方法里面的变量是临时变量,在栈内创建。 多次调用某个方法,则多次创建临时变量,线程安全。 2.1.2 多个线程通过某方法同时操作同一个对象的属性,可能是线程不安全的,需要把操作的方法加上同步锁 2.... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(39) 评论(0) 推荐(0)
摘要: 1.1 进程:正在执行的程序。进程是OS分配资源的最小单位。 线程:正在执行的程序的子任务。线程是程序执行的最小单位。 原:使用多线程的优点:可在同一时间运行更多不同的任务。 P3 原:使用多线... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(45) 评论(0) 推荐(0)
摘要: 本文作者是阿里大神级别程序员,这篇文章记录了他成长的一些经历,对我这样的才入职的小白帮助很大。 原文地址:http://www.cnblogs.com/xrq730/p/5260294.html 作者:五月的仓颉 前言 因为和同事有约定再加上LZ自己也喜欢做... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(95) 评论(0) 推荐(0)
摘要: 原文地址:给Java程序猿们推荐一些值得一看的好书 最近ThinkInJava读的差不多了,读到了并发章节,感觉想找一本专门是讲并发的书籍来看。但是发现网上所谓的必读书籍并不怎么理想,原因是因为老外写的书,多少看起来有点羞涩难懂,于是在找的过程中找到了这篇文章... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(280) 评论(0) 推荐(0)
摘要: 参考地址:工作流Activiti5流程变量 任务变量 setVariables 和 setVariablesLocal区别 在刚开始学习的时候,当时我就发现,使用setVariablesLocal设置的流程变量,在下一个任务节点处... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(509) 评论(0) 推荐(0)
摘要: 在提交表单数据的过程中,我发现提交的表单内容数据,以其name属性为基准。当然了,我习惯把name与id属性统一起来,这样就能姑且认为是通过name属性提交的数据。实际结果也是以name属性为基准的。 比如,我在下面的这个表单中提... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(80) 评论(0) 推荐(0)
摘要: 在部署了一个Zip包后,流程部署表act_re_deployment与流程定义表act_re_procdef均会插入一条新的记录。 这个在之前已经讨论过了。今天要开启流程定义操作,将流程定义启动。 要准备的操作是:先... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(335) 评论(0) 推荐(0)
摘要: 流程定义查询的Service与流程部署的Service一样,是RepositoryService接口实现。 核心知识点如下: //开启流程之前先寻找最新版本的请假流程定义 Process... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(1253) 评论(0) 推荐(0)
摘要: 开发工具 Idea 先创建一个项目,File - New - Project 选择Spring Initalizr ,然后点击Next 选择默认就好... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(220) 评论(0) 推荐(0)
摘要: 查询部署信息表act_re_deployment,主要就是通过 RepositoryService来操作。 核心代码就是创建查询对象,repositoryService.createDeploymentQuery(); 然后为这... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(351) 评论(0) 推荐(0)
摘要: 一、定义 用一个中介者对象封装一系列的对象交互,中介者使各对象之间不需要显示地相互作用,各对象之间只要跟中介者对象关联,从而使各对象之间的耦合降低,并且能独立地改变它们之间的交互。中介者设计模式属于行为设计模式。为了防止一个类会涉及修改其他类的... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(20) 评论(0) 推荐(0)
摘要: /*var rowArray = [];//用于存放操作后的快捷键实体的数组*//*rowArray.push(row);*/ $.ajax({ url: url, type: "POST", ... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(240) 评论(0) 推荐(0)
摘要: 一、定义 官方定义:允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类,(State Pattern)是设计模式的一种,属于行为模式。 我的理解:当一个对象具有多种状态的时候,将这些状态抽取出来。每一种状态对... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(56) 评论(0) 推荐(0)
摘要: 一、定义 定义:记录一个关键对象的关键属性,当关键属性发生变化的时或者出错时,有办法将对象恢复到以前的状态。 角色: 发起人Originator:这个角色是需要被记录的关键对象。一般来说,它有几... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(25) 评论(0) 推荐(0)
摘要: 一、定义 将一个请求(命令)封装为一个对象。这个请求(命令)定义了“谁去做”与“做什么”。 命令模式的例子牢牢记住“电视机遥控器”就可以了。 Invoker通过Command,最终让Receiver接受者执行。 Invok... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(35) 评论(0) 推荐(0)
摘要: 一、定义 责任链是每一个对象持有其下家的引用而形成的一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织和分配责任。 ... 阅读全文
posted @ 2022-07-17 12:15 小大宇 阅读(61) 评论(0) 推荐(0)