- 博客(20)
- 收藏
- 关注
原创 学习红黑树
红黑树的四个性质每一个节点的颜色不是黑色就是红色根节点一定是黑色的没一个叶子节点都有两个空的黑色节点(黑哨兵)不能有两个连续的红色节点从一个节点到每个叶子节点,所包含的黑色节点的数量是一样的...
2020-01-13 10:11:37 92
原创 &运算、|运算、^运算
&与运算(遇到0则为0)0&0=0;0&1=0;1&0=0;1&1=1|或运算(遇到1则为1)0|0=0; 0|1=1; 1|0=1; 1|1=1;^异或运算(两个相等则为0)0^0=0; 0^1=1; 1^0=1; 1^1=0;...
2020-01-08 15:55:41 1025
原创 源码详解ArrayList中add方法以及remove方法
最近看了一下List集合的源码,简单记录一下创建ArrayList:/** * Default initial capacity. */ private static final int DEFAULT_CAPACITY = 10; /** * Shared empty array instance used for empty instan...
2019-12-27 21:16:06 323
原创 HTML ### is not defined 问题记录
自己写了一个系统玩,有一个界面前台调后台方法一直是 ###is not defined,检查了方法名,以及需要引用的包都没有问题,困扰了半天,当时我的js是在head里放着,想了想is not defined肯定是在我调用这个方法之前,还没有被加载定义,然后我就把js放到了head和body中间,再次测试,问题解决。...
2019-08-02 09:06:12 2635 1
原创 学习CAS算法
1CAS(比较与交换,Compare and swap)是一种有名的无锁算法。CAS, 是CPU指令,它有三个操作数,内存值V,旧的预期值A,要修改的新值B。当且仅当预期值A和内存值V相同时,将内存值V修改为B,否则什么都不做2程序每对值做一次修改,都会记一次count,多线程的时候,线程a将值修改后,线程b再修改回来,值是没有变化的,但是已经被改变了两次,用CAS可以对count...
2019-05-23 10:45:35 120
原创 如何实现线程安全的单例模式
单例模式懒汉式这个模式天生就是线程安全的,在类加载的时候就会初始化实例,但是这种模式的问题是内存中不管会不会用到这个对象,它都一直在那放着volatile+双重检查锁(DCL)双重检查锁保证了当前时刻只有一个线程可以进来初始化实例,而volatile保证了初始化实例的时候不会发生指令重排序,导致对象为null...
2019-05-23 10:11:24 894 2
转载 不用synchronized和lock,实现线程安全的单例模式
转自(https://blog.csdn.net/vincentff7zg/article/details/58057668)总结:单例模式必然会被多个线程访问。多线程访问一定要注意锁的问题。参考博主之前分享的转载文章《java中的锁》,有几种方式如下:自旋锁类锁和对象锁共享锁和排它锁偏向锁互斥锁闭锁活锁分段锁无锁无状态编程线程本地存储volatileCAS协程...
2019-05-22 11:32:32 482 1
转载 volatile和final
http://www.infoq.com/cn/articles/java-memory-model-4?utm_source=infoq&utm_medium=related_content_link&utm_campaign=relatedContent_articl...
2019-05-22 10:38:47 319
原创 并发学习-final
对于 final 域,编译器和CPU要遵守两个重排序规则:final 写:“构造函数内对一个final域的写入”,与“随后把这个被构造对象的引用赋值给一个引用变量”,这两个操作之间不能重排序。final 读:“初次读一个包含final域的对象的引用”,与“随后初次读对象的final域”,这两个操作之间不能重排序。写 final 域的重排序规则禁止把 final 域的写重排序到构造函数之外。...
2019-05-22 10:22:36 106
原创 学习synchronized
修饰实例方法,作用于当前实例加锁,进入同步代码前要获得当前实例的锁就是用synchronized修饰实例对象中的实例方法,注意是实例方法不包括静态方法这个锁是当前对象的,如果是同一个对象则线程安全,如果不是同一个对象,修改全局变量则不安全修饰静态方法,作用于当前类对象加锁,进入同步代码前要获得当前类对象的锁静态方法的锁是class本身,可以解决不是同一个对象访问时造成的安全问题修饰代码...
2019-05-21 17:27:25 97
原创 Java内存模型学习(JMM)
JMM是什么?Java内存模型(即Java Memory Model,简称JMM)是一个抽象的概念,真是不存在,它描述的是一种规范或者规则,定义了程序如何对变量进行访问JVM运行程序的实例是线程,创建每个线程,JVM都会给它开启一片工作空间(栈空间),用于存储线程私有的数据,而JMM规定所以变量都存在于主内存中,主内存是共享区域,但是每个线程工作的时候都是在自己的工作内存中实现的,需要从主内...
2019-05-21 14:36:36 104
原创 Java并发学习
为什么存在并发问题单核单线程的速度过低,人们为了满足高的并发量,同一时间可以做很多事情,于是有了多核多线程,但是多核多线程情况下,每个线程的缓存都可能不同,以及每一级缓存的速率也是不一样,这样就会导致一系列的并发问题,程序得到获取的数据,并不总是想要的数据,并发问题总共提现在三个方面,原子性、可见性、有序性。推荐一篇博客讲的是并发背景https://blog.csdn.net/just...
2019-05-21 10:03:34 80
转载 解决MySQL报错The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents .....
版权声明:欢迎大家转载,转载请务必标明原文地址,创作不易,谢谢大家支持! https://blog.csdn.net/qq_37630354/article/details/82814330 < 今天在用SpringBoot2.0+MyBatis+MySQL搭建项目开发环境的时候启动项目发现报了一个很奇怪的错,报错内容如下:java.sql.SQLExcepti...
2019-03-01 16:28:26 564
转载 CSDN如何快速转载别人的博客
在参考“如何快速转载CSDN中的博客”后,由于自己不懂html以及markdown相关知识,所以花了一些时间来弄明白怎么转载博客,以下为转载CSDN博客步骤和一些知识小笔记。 参考博客原址:http://blog.csdn.net/bolu1234/article/details/5186...
2019-03-01 16:22:18 109
转载 SSM项目中的中文乱码问题
一、在浏览器访问jsp页面时遇到乱码的问题(1)在jsp页面没有指定字符集编码&lt;!DOCTYPE html&gt;&lt;html lang="en"&gt;&lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;title&am
2019-02-27 16:08:50 2884
原创 记一次SSM项目请求报404
界面显示是这样控制台日志打印[org.springframework.web.servlet.PageNotFound] - No mapping found for HTTP request with URI [/stu/user/{"name":"zhangsan"}] in DispatcherServlet with name 'spring'代码是:@Controller@...
2019-02-26 17:17:18 2692
原创 IDEA搭建maven Web项目
创建工程记得要选中webapp这一项next选择你的maven插件以及setting.xml路径finish配置首先配置TomcatServer界面基本不用配置File–&gt;Project Structure先配置Modules,红框所选中那块需修改路径到webapp目录下来配置Aritifacts选中你刚才所创建的目录,apply,OK修...
2019-02-26 11:34:17 136
原创 MyBatis Generator自动生成dao类文件
准备工作用idea创建maven工程,pom文件引入依赖mybatis-3.4.2.jar、mybatis-generator-core-1.3.3.jar、mysql-connector-java-5.1.26.jarpom文件再添加以下配置:&amp;lt;build&amp;gt; &amp;lt;plugins&amp;gt; &amp;lt;plugin&amp;gt;
2019-01-30 16:36:21 193
原创 Spring AOP学习理解
前言aop(Aspect Oriented Programming)也就是面向切面编程,是对于面向对象编程(OOP,全文Object Oriented Programming)的补充和完善,因为oop允许开发者定义纵向关系,并不适合定义横向的关系,比如记录日志,这些代码会横散在对象里,而这些代码与业务逻辑并无关系,在传统oop思想下这些代码重复性比较高,造成代码冗余。AOP核心概念1...
2019-01-25 10:02:22 111
原创 从eclipse切换到IDEA后,如何继续使用eclipse的快捷键,实用!!!
IDEA可以直接切换到eclipse的快捷键步骤:1,File–>Setting2,搜索框搜索keymap3,下拉框选择Eclipse,apply生效!!!
2019-01-10 11:28:40 200
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人