- 博客(131)
- 收藏
- 关注
原创 【工作流】-activiti7
数据库表ACT_RE_*responsitory 包含了流程定义和流程静态资源ACT_RU_*runtime 运行时表,存储流程实例,任务,变量等ACT_HI_*history 存放历史流程实例,变量,任务等ACT_GE_*general 通用数据网关排他网关并行网关包含网关...
2020-07-12 21:15:48
195
原创 【分布式】-分布式事务
什么是事务?是数据库执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。事务的ACID四大特性:原子性(Atomicity):事务作为一个整体被执行。一致性(Consistency):从一个一致的状态转换到另一个一致的状态。隔离性(Isolation):多个事务并发执行时,并发事务之间互相影响的程度。持久性(Durability):已被提交的事务对数据库的修改应该永久保存在数据库中。什么是分布式事务事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节
2020-06-28 21:19:11
280
原创 websocket
现在,很多网站为了实现即时通讯(real-time),所用的技术都是轮询(polling)。轮询是在特定的的时间间隔(time interval)(如每1秒),由浏览器对服务器发出HTTP request,然后由服务器返回最新的数据给客服端的浏览器。这种传统的HTTP request d的模式带来很明显的缺点 – 浏览器需要不断的向服务器发出请求(request),然而HTTP request 的header是非常长的,里面包含的数据可能只是一个很小的值,这样会占用很多的带宽。而最比较新的技术去做轮询的
2020-06-21 21:32:34
195
1
原创 【spring】-AOP
面向切面编程:实现业务逻辑和系统服务分离,对OOP的扩展不通过修改源代码的方式,在主干功能里添加功能降低各功能之间的耦合,提高程序的可重用性,提高开发效率针对业务处理过程中的切面提取,面对的是处理过程中的某个步骤或阶段。...
2020-06-14 20:39:22
163
原创 【redis】-持久化方式
为什么需要持久化?redis之所以功能强大,是由于它将数据存储在内存中,读写数据速度很快。但是内存中的数据一关机就没了,为了使Redis在重启的时候仍能保证数据不丢失,才需要将数据从内存中以某种形式持久化到硬盘中。怎么持久化?Redis支持两种方式的持久化,一种RDB,一种AOF。可以单独使用一种,也可以两种结合使用。下面来分别说一下这两种方式具体是怎么工作的。RDB关键字:快照快照是什么?简单的说就是某一时刻,对数据的复制品。所以,RDB的工作原理就是,当符合一定条件时,Redis自动将内存
2020-06-07 21:05:58
262
2
原创 【mysql】-mysql常用函数
单行函数:字符串拼接:CONCAT('a','b','c')字符串截取:SUBSTR('abc',1,2)//从第一位开始,截取abc长度为2。结果为ab获取 字符串长度:LENGTH('abc')数字四舍五入:ROUND(3.1415,3)//结果为3.142数字截断:TRUNC(3.1415,3)//结果为3.141判断是否为null:IFNULL(ex,em)//判断ex是否为null,如果是null,则用em来代替返回第一个非空值:COALESCE(字段1,0)//如果字
2020-05-31 20:56:54
249
原创 【算法】-回溯之八皇后
有一个8x8的棋盘,希望往里放8个棋子(皇后),每个棋子所在的行、列、对角线都不能有另一个棋子。如下图的样子:我们把这个问题划分成8个阶段,依次将8个棋子放到第一行、第二行、第三行……第八行。在放置的过程中,我们不停地检查当前的方法,是否满足要求。如果满足,则跳到下一行继续放置棋子;如果不满足,那就再换一种方法,继续尝试。代码如下:public static int[] result=new int[8]; public static void main(String[] a
2020-05-24 20:52:03
214
原创 【并发编程】-锁的升级流程
偏向锁状态一、检查MarkWord里面是不是放的自己的ThreadId,如果是,表示当前线程处于“偏向锁”轻量级锁状态二、如果MarkWord里不是自己的ThreadId,锁升级,用CAS执行切换,新的线程根据MarkWord里面现有的ThreadId,通知之前线程暂停,之前线程将MarkWord的内容置为空。三、两个线程都把锁对象的HashCode复制到自己新建的用于存储锁的记录空间,接着开始通过CAS操作,把锁对象的MarkWord的内容修改为自己新建的记录空间的地址的方式竞争MarkWor.
2020-05-17 20:10:19
125
原创 【zookeeper】-其一致性体现在哪里?
顺序一致性:同一客户端发起的多个事务,会严格按发起顺序记录到zk中原子性:所有事务请求结果在集群所有主机上结果一致单一视图:无论client连接的是集群中哪台主机,看到的数据模型都一致可靠性:zk主机应用了某事务,会一直保留,直到被另一事务提交最终一致性:一个事务被应用,在很短时间内可以被任意主机读...
2020-05-10 20:56:35
440
原创 【MySQL】-复合索引该怎么用
本文均已学习为主,不考虑实际业务。若在实际业务中,还需考虑增删改的代价和实际需要。什么时候建索引数据量大,查询业务多的where从句group by从句order by从句on从句中的字段,可以考虑建索引。联合索引怎么建alter table t add index abc(a,b,c);这里有一个原则:离散度大的列放在前离散度:唯一值多,离散度越大(eg:id>...
2020-05-03 15:47:10
820
原创 让爱更有力量
这疫情期间的两个多月,不知道你是怎么度过的,有没有按自己的计划走。疫情就像是一个大浪,俗话说“大浪淘沙,沉者为金”,当疫情过后,优秀的人会更加优秀,而不自律会则会更加的平庸。首先疫情发展到目前,我以身为中国人而感到无比的自豪骄傲,感谢国家的强大,给我们每一个国人提供这么好的生活环境,可以让我们的国家在如此大难之前,能在将近两个月之内恢复正常工作生活。即使在疫情期间,我的心都是定的,我从来没有...
2020-04-05 15:08:43
183
原创 cors跨域问题
CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing)。它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制。CORS需要浏览器和服务器同时支持。目前,所有浏览器都支持该功能,IE浏览器不能低于IE10。 浏览器端: 目前,所有浏览器都支持该功能(IE10以下不行)。整个COR...
2020-03-29 21:56:29
119
原创 【并发编程】-并发容器
在上一篇文章简单了解了一下线程池。自定义线程池有5个参数,其中第五个就是选择并发容器。而Java帮我们封装好的几个线程池,也都用了相应的并发容器,接下来看一下Java中有哪些并发容器呢?ConcurrentMap、CopyOnWriteArrayList、SynchronizedList、ConcurrentLinkedQueue、LinkedBlockingQueue、ArrayBlock...
2020-03-22 22:22:19
125
原创 【spring】-IOC
控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。其中最常见的方式叫做依赖注入(Dependency Injection,简称DI),还有一种方式叫“依赖查找”(Dependency Lookup)。通过控制反转,对象在被创建的时候,由一个调控系统内所有对象的外界实体将其所依赖的对象的引用传递给它。也可以说,依赖...
2020-03-15 21:09:43
107
原创 【Maven-问题】No implementation for org.apache.maven.model.path.PathTranslator was bound
出现这个问题有很多种原因,我的是因为版本不兼容如下修改了maven版本就好了附上maven各版本地址:https://mirrors.tuna.tsinghua.edu.cn/apache/maven/
2020-03-08 20:35:46
288
原创 【设计模式】——七大原则
一、单一职责 一个类或者模块只专注做一件事,应该有且只有一个改变的原因。 强调:类或模块,在开发中灵活运用。比如基本的减加乘除法,四个做到模块单一职责就好,可以封装在一个类里,没有特别大必要各占一个类。二、接口隔离 客户端不应该依赖它不需要的接口,即一个类对另一个类的依赖应该建立在最小的接口上。 A类通过接口使用B中的123方法,C类通过接口使用D中的145方法。 ...
2020-03-01 20:12:56
157
5
原创 【设计模式】--原型深拷贝方式之序列化对象
学过设计模式的都知道原型模式有两种形式,深拷贝和浅拷贝,其中的深拷贝又分了两种实现方式方式一:重写clone方法方式二:通过对象序列化来实现今天就来说一下这第二种方式中的序列化。先来看一下代码实现:要复制类:public class DeepProtoType implements Serializable{ public String name; pub...
2020-02-23 20:39:08
129
原创 【并发编程】-volatile关键字
使一个变量在多个线程间可见public class T { /*volatile*/ boolean running=true;//volatile 通知其他线程值改变了 void m(){ System.out.println("m start"); while(running){ } System.out.pri...
2020-02-16 20:19:43
95
原创 "当前没有活动的源代码控制提供程序"
从git上新弄了代码,想改个分支发现左下角没有master,到source Control里提示“当前没有活动的源代码控制提供程序”。网上查到解决办法:在扩展中搜索“@builtin”,找到git,禁用再重新启用(注意禁用之后要重启vscode)启用之后还是提示“找不到git”file->preferences->settings->输入git.path-&g...
2020-02-09 21:35:26
270
1
原创 Mapper.xml中使用foreach
一、先说一下业务:1、查询题干重复的试题id2、重复的试题存在,查这些试题id下的选项是否相同二、相关数据库:1、试题表和选项表,对于单选多选等会在选项表里存选项内容2、选项表里的选项内容字段是以json格式存放的,但由于json检索和插入太慢存的是longtext格式的json格式。三、sql语句1、返回题干id(这步sql很简单的,略了)2、这些id下的选项是否...
2020-02-02 20:43:22
7873
4
原创 【并发编程】-并发容器
在上一篇文章简单了解了一下线程池。自定义线程池有5个参数,其中第五个就是选择并发容器。而Java帮我们封装好的几个线程池,也都用了相应的并发容器,接下来看一下Java中有哪些并发容器呢?ConcurrentMap、CopyOnWriteArrayList、SynchronizedList、ConcurrentLinkedQueue、LinkedBlockingQueue、ArrayBlock...
2020-01-15 16:04:12
136
1
原创 【并发编程】-Java线程池
在开发过程中经常会遇到并发量比较高的代码,可以用多线程去解决的。除了我们常用的自定义线程池ThreadPoolExecutor还有几种Java封好的:FixedThreadPool(固定个数线程池)、CachedThreadPool(弹性线程池)、SingleThreadExecutor(单线程线程池)、ScheduleThreadPool(定时器线程池)、WorkStealingPool(任务...
2020-01-14 16:48:58
135
2
原创 【思想】-三省吾身
想要做一个成功的人,即使不能“每日三省吾身”,也要每段时间进行“三省吾身”。省什么呢?省我们哪些坚决不能做,哪些必须要做到。然后结合自己,有则改之,无则加勉。首先看我们引以为戒的“人不成熟的五大特征”人不成熟的五大特征一、立即要回报不懂得只有春天播种,秋天才会收获。记住一句话“成功者永不放弃,放弃者用不成功”二、不自律表现:1、不愿意改变自己2、愿意背后议论别人3、消极...
2020-01-12 14:32:19
216
2
原创 2019年终总结
前言2019年12月31日的第二天,写日期的时候突然发现,哦,都2020年了哈。一天一天有紧张的,焦虑的,开心的,兴奋的……就这样又过去了一年。Done[2019] 计算机今年从C#学到了java,发现语言之间很多东西都是大同小异的。然而我知道的越多,越觉得我知道的越少。就拿sql来说吧,从学习完->修改别人写的简单的sql业务->自己写sql->看大神写的sql...
2020-01-07 17:02:35
218
3
原创 【Docker】-三要素
我们都知道面向对象有三要素:封装,继承,多态。Docker也有三要素:镜像,容器,仓库。接下来我们从这三要素入手来看一下Docker到底是什么东西。一、总的来说Docker是一款解决了运行环境和配置问题的软件,是一个方便做持续集成并有助于整体发布的容器虚拟化技术。二、镜像和之前理解的系统镜像一样。我们可以用同一个系统镜像在不同电脑安装多个系统。那Docker镜像可以创建多个容器...
2019-12-01 19:31:28
252
1
原创 【maven】linuex安装maven私服
一、通过Xshell连接服务器二、下载或在windows系统下载好上传nexus安装包我是在windows下载好了安装包直接上传的安装包:在Xshell中:输入 rz 从本地电脑选择nexus的安装包。静等片刻三、解压安装包在Xshell中输入:tar -xzvf nexus-2.12.0-01-bundle.tar.gz四、修改启动配置1、进入在安装目录下#cd nexu...
2019-11-25 13:58:09
208
7
原创 【maven】解决jar包冲突
maven工程中jar包冲突原因来个栗子:你买了一个四色笔,里面有红黄蓝黑四种颜色。还买了一根三色笔,是红紫绿。我想在书上做个标记,跟你借一下红颜色的笔,你会给我哪只呢?当然你给我哪只我都能用,但是在maven中可就不行了。例如导入以下jar包:又引入以下jar包之后:导入contextjar包的时候因为传递依赖也引入了beans,是5.0.2.RELEASE版本的,(为了演示效果)...
2019-11-24 19:53:42
245
6
原创 vscode git"当前没有活动的源代码控制提供程序"
从git上新弄了代码,想改个分支发现左下角没有master,到source Control里提示“当前没有活动的源代码控制提供程序”。网上查到解决办法:在扩展中搜索“@builtin”,找到git,禁用再重新启用(注意禁用之后要重启vscode)启用之后还是提示“找不到git”file->preferences->settings->输入git.path-&g...
2019-06-30 20:26:11
4666
11
原创 ajax发送接收二进制流数组
这几天做项目遇到一个问题,需要前端获取输入文本的html形式,传送到后端,再以二进制流的格式存入数据库。第一步:前端获取输入文本的html形式。这个用富文本编辑器封装好的方法实现,很容易。第二步:前端向后端传值(html代码) 知道两种方式:1、把html内容作为字符串传到后端,后端再转成二进制流存数据库 ...
2019-05-12 21:30:50
766
8
原创 【SVN】--miss文件无法提交问题解决
今天在layui项目中添加了一下百度编辑器,由于各种原因吧,编辑器的文件位置改了又改,最后SVN提交的时候,出了错(*** is scheduled for addition,but is missing),出现了好多文件的status是miss。一、在文件夹中revert,选择miss状态的文件(夹)。成功之后重新提交这些文件(夹)就没了。但是在revert的时候,我又出现了下边的错...
2019-05-05 21:08:15
1253
9
原创 【英文】The Key to Be Successful
What's the definition of a successful person? Most people will think about the money. The more money the person owns, the more successful he means. But the real success is not about money at all, it i...
2019-04-28 22:18:19
309
21
原创 Angular Vue 和 React
目前非常流行的三个前端框架:Angular Vue React 。 如何选择该用哪个呢?下边看看它们各自的优劣Angular:适合大型项目特点:有良好的结构,是一个完整的框架。 拥有自己的构建工具。Angular-cli 体积较大,加载缓慢 学习成本较高。会用ts语言。 跨平台优势。Vue:适合开发小型应用。特点:灵活性:不限制代码组织结构。 实用性 体积...
2019-04-14 21:18:24
256
14
原创 【英文】-- Harry Potter
Finally, the truth. Lying with his face pressed into the dusty carpet of the office where he had once thought he was learning the secrets of victory, Harry understood at last that he was not supposed ...
2019-03-17 21:18:06
349
9
原创 【WebAPI】路由规范
路由基础新建一个WebApi服务的时候APP_Start文件夹下的WebApiConfig.cs中生成了一个默认的路由:Name:“DefaultApi”表示此路由的名称,这里只需要保证路由名称不重复就好。routeTemplate:“api/{controller}/{id}”定义了路由模板,“api”是固定的部分,用来表示当前请求的url是一个api服务的接口,但是不用非得写...
2019-03-10 21:08:46
794
9
原创 Quartz.net 定时任务框架
Quartz.net是一个从Java版的Quartz移植过来的定时任务框架,可以实现异常灵活的定时任务,开发人员编写很少的代码就可以实现“每隔1小时”、“每天22点执行”、“每月18日下午执行8次”等各种定时任务。概念: 三个概念:计划者(ISchedeler)、工作(IJob)、触发器(Trigger)。 给计划者(Schedeler)一个工作(Job),让他在Trigger...
2019-03-01 09:46:33
1432
4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人