自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 volatile

volatile​ volatile 保证共享变量的“可见性”,可见性就是当一个线程修改了共享变量时,另一个线程可以及时的读到共享变量修改后的值。​ volatile是如何保证可见性的? 有被volatile修饰的共享变量在进行写操作时会多出一行汇编代码(Lock前缀的指令),该指令在多核处理器下会引发两件事情,1)在当前处理器缓存行的数据写回到主内存中;2)这个写操作会使其他CPU里面缓存的该内存地址的数据无效。​ volatile为什么没有原子性?​ 例如你让一个v

2021-03-04 17:37:05 111 1

原创 Synchronized

SynchronizedSynchronized 是 Java 中解决并发问题的一种最常用的方法,也是最简单的一种方法。Synchronized的作用主要有三个:原子性:确保线程互斥的访问同步代码;可见性:保证共享变量的修改能够及时可见,其实是通过 Java内存模型(JMM) 中的 “对一个变量unlock操作之前,必须要同步到主内存中;如果对一个变量进行lock操作,则将会清空工作内存中此变量的值,在使用此变量前,需要重新从主内存中 load 操作或 assign 操作初始化变量值” 来保

2021-03-04 17:31:51 191 1

原创 Rabbitmq学习笔记

1 什么是MQ**MQ(Message Queue) **: 是一种跨进程的通信机制, 用于上下游传递消息 . 在互联网架构中, MQ是一种非常常见的上下游“逻辑解耦+物理解耦”的消息通信服务 .JMS(Java Message Server) : java 消息服务应用程序接口, 是一个java平台面向消息中间件的技术规范(API接口规范) .Amqp(Advanced Message Q...

2019-09-18 16:28:02 195

原创 java代码的执行顺序

java代码的执行顺序,这是一个很基础的问题,但是工作几年之后,你能随口说出来吗?当然这个问题在工作中几乎遇不到,但是在面试中,也许会被问到/** * @Description: 动物 父类 * @author: wangjie * @createAt: 2019-08-15-21:25 */public class Animal { public Animal() { ...

2019-08-15 21:59:53 177 1

原创 sql语句添加、修改字段以及索引

sql语句添加、修改字段以及索引(mysql)在工作中,我们经常会遇到数据库表字段不够,修改扩展或者修改。-- 修改字段名alter table TABLE_NAME rename column A to B;-- 修改字段类型alter table TABLE_NAME alter column COLUMN_NAME COLUMN_TYPE not null ;-- 添加字段类...

2019-06-28 14:00:40 6218

原创 工厂模式

0 定义人们经常说到的工厂模式有三种:简单工厂模式,工厂方法模式和抽象工厂模式. * 简单工厂模式:严格来说,它不是一种设计模式,比较像是一种编程习惯,由于经常使用,很多人也会称它为一种设计模式. * 工厂方法模式:定义了一个创建对象的接口,但是是由子类来决定实例化那一种对象,将对象实例化推迟到子类. * 抽象工厂模式:提供一个接口,用来创建相关或相互依赖对象的家族,而不需要明确指定具体...

2018-08-20 16:29:00 110

原创 elasticsearch 入门1

0. elasticsearch 是什么? ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。1 安装...

2018-08-16 00:12:04 177

原创 常见单例模式实现方式

单例模式单例: 有且仅有一个实例,提供全局访问.1 饿汉式在单例类被加载时候(立即加载),就实例化一个对象并交给自己的引用.线程安全.public class Singleton1{ private static Singleton1 instance = new Singleton1(); private Singleton1(){} ...

2018-07-26 21:13:14 205

原创 sql 查询语句优化

1.选择最有效率的表顺序(只在基于规则的优化器中有效)Oracle的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表d)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表.如果有3个以上的表连接查询,那就需要选择交叉表作为基础表,交叉表是指那个被其他表所引用的表。2.WHERE子句中的连接顺序.Oracle采用自下而上的顺序解析

2017-04-30 16:11:01 417

原创 SQL select语句的执行顺序

最近在面试,有一个题目是让说出给定的sql语句的解析执行顺序,以及怎么优化. 感觉我回答的不理想,就查阅了一下.现在就总结一下我查阅的结果,以便日后温习:(8) select (9)distinct (11)[top](1) from(3) [left/right outer] join(2) on(4) where(5) group by(6) with <CUBE |

2017-04-29 16:26:41 504

原创 关于try-with-resource的 输入输出流自动关闭

最近在做代码审核的时候,审核工具提示我将 try-catch-finally 给替换掉,而且根据公司相关要求,该提示的级别还不低,不改不予通过. 先看看代码吧:FileReader fr = null; BufferedReader br = null;try { fr = new FileReader(fileName); br = new BufferedReader(fr

2017-04-07 09:47:52 9504

原创 关于 回调 的一些理解(以jdbctemplate为例)

以前一起没有很好的理解 “回调”,偶然的机会下,看了一下spring的jdbctemplate,觉得对回调的理解很有帮助,就稍微自己总结一下,以便日后温习. 回调: 就是在方法的参数中传递一个接口,父在调用此方法时,必须调用方法中传递的接口的实现类。

2017-02-12 13:54:32 2301

原创 String "+"的问题

今天项目查bug时,发现一个空指针问题,查了半天,最终定位到是有String +运算造成的.于是就写了一个测试:public static void main(String [] arg0){ String a = null; String b = "null"; String c = "==="; String ac = a+c;

2017-01-09 16:34:20 349

原创 行转列sql题

样本数据 id name score 1 aa 30 2 aa 40 3 aa 50 1 bb 50 2 bb 40 3 bb 30想转化成 name score1 score2 scoer3 aa 30 40 50 bb 50 40 30方法一: selec

2017-01-06 11:16:32 255

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除