自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4502)

转载 [转]Redis哨兵模式(sentinel)学习总结及部署记录(主从复制、读写分离、主从切换)...

Redis的集群方案大致有三种:1)redis cluster集群方案;2)master/slave主从方案;3)哨兵模式来进行主从替换以及故障恢复。一、sentinel哨兵模式介绍Sentinel(哨兵)是用于监控redis集群中Master状态的工具,是Redis 的高可用性解决方案,sentinel哨兵模式已经被集成在redis2.4之后的版本中。sentinel是red...

2019-10-04 21:17:00 81

转载 [转]【Linux】Linux 目录结构

初学Linux,首先需要弄清Linux 标准目录结构/root ---启动Linux时使用的一些核心文件。如操作系统内核、引导程序Grub等。home ---存储普通用户的个人文件ftp --- 用户所有服务httpdsambauser1user2bin ---系统启动时需要的执行文件(二进制)sbin ---...

2019-09-29 21:10:00 35

转载 Java设计模式:Builder(构建器)模式

基本概念Builder模式是一步一步创建一个复杂对象的创建型模式。该模式将构建复杂对象的过程和它的部件解耦,使得构建过程和部件的表示隔离开来。应用场景对象创建过程比较复杂,或对创建顺序或组合有依赖(经典Builder模式,可参阅GOF《设计模式》)。创建对象时所需参数较多,且包含较多可选参数(变种Builder模式,可参阅《Effective Java》构建器小节)。示例代...

2019-09-24 20:45:00 28

转载 不用@微信官网了,用8行代码给自己微信头像加个小国旗

import base64import osfrom PIL import Image # 水印图片 可以自己指定 mark=Image.open("C:\\Users\\Administrator\\Desktop\\hq.png") # 原始微信头像originImage = Image.open("C:\\Users\\Administ...

2019-09-24 14:05:00 463

转载 mybis 不使用 XML 构建 SqlSessionFactory

如果使用 Maven 来构建项目,则需将下面的 dependency 代码置于 pom.xml 文件中:<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>...

2019-09-23 16:23:00 70

转载 数据库 ----jdbc连接池的弊端

jdbc连接池的弊端1、数据库连接,使用时就创建,不使用立即释放,对数据库进行频繁连接开启和关闭,造成数据库资源浪费,影响 数据库性能。设想:使用数据库连接池管理数据库连接。2、将sql语句硬编码到java代码中,如果sql 语句修改,需要重新编译java代码,不利于系统维护。设想:将sql语句配置在xml配置文件中,即使sql变化,不需要对java代码进行重新编译。3、向pr...

2019-09-23 15:29:00 81

转载 Spring @Import注解 —— 导入资源

在应用中,有时没有把某个类注入到IOC容器中,但在运用的时候需要获取该类对应的bean,此时就需要用到@Import注解。示例如下:先创建两个类,不用注解注入到IOC容器中,在应用的时候在导入到当前容器中。1、创建Dog和Cat类package com.example.demo; public class Dog {...

2019-09-23 15:13:00 46

转载 Spring MVC (二)注解式开发使用详解

MVC注解式开发即处理器基于注解的类开发, 对于每一个定义的处理器, 无需在xml中注册.只需在代码中通过对类与方法的注解, 即可完成注册.定义处理器@Controller: 当前类为处理器@RequestMapping: 当前方法为处理器方法, 方法名随意, 对于请求进行处理与响应.@Controller public class MyControl...

2019-09-23 14:57:00 28

转载 SpringMVC的工作原理

SpringMVC的工作原理图:SpringMVC流程1、 用户发送请求至前端控制器DispatcherServlet。2、 DispatcherServlet收到请求调用HandlerMapping处理器映射器。3、 处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherSe...

2019-09-23 14:30:00 29

转载 锁粒度

今天看到一篇文章,很详细的描述了锁和锁粒度的概念,如下为什么要加锁?加锁是为了防止不同的线程访问同一共享资源造成混乱。打个比方:人是不同的线程,卫生间是共享资源你在上洗手间的时候肯定要把门锁上吧,这就是加锁,只要你在里面,这个卫生间就被锁了,只有你出来之后别人才能用。想象一下如果卫生间的门没有锁会是什么样?什么是加锁粒度呢?所谓加锁粒度就是你要锁住的范围是多大。比如...

2019-09-23 13:15:00 25

转载 Java中的锁-悲观锁、乐观锁,公平锁、非公平锁,互斥锁、读写锁

总览图如果文中内容有错误,欢迎指出,谢谢。悲观锁、乐观锁悲观锁、乐观锁使用场景是针对数据库操作来说的,是一种锁机制。悲观锁(Pessimistic Lock):顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就...

2019-09-23 13:11:00 35

转载 synchronized(三) 锁的膨胀过程(锁的升级过程)深入剖析

警告⚠️:本文耗时很长,先做好心理准备................哈哈哈本篇我们讲通过大量实例代码及hotspot源码分析偏向锁(批量重偏向、批量撤销)、轻量级锁、重量级锁及锁的膨胀过程(也就是锁的升级过程)我们先来说一下我们为什么需要锁?因为在并发情况为了保证线程的安全性,是在一个多线程环境下正确性的概念,也就是保证多线程环境下共享的、可修改的状态的正确性(这...

2019-09-23 11:41:00 254

转载 Java内存模型(三)原子性、内存可见性、重排序、顺序一致性、volatile、锁、final...

一、原子性原子性操作指相应的操作是单一不可分割的操作。例如,对int变量count执行count++d操作就不是原子性操作。因为count++实际上可以分解为3个操作:(1)读取变量count的当前值;(2)拿count的当前值和1做加法运算;(3)将加完后的值赋给count变量。在多线程环境中,非原子操作可能会受其他线程的干扰。比如,上述例子如果没有对...

2019-09-23 11:07:00 26

转载 Java内存模型(二)volatile底层实现(CPU的缓存一致性协议MESI)

CPU的缓存一致性协议MESI在多核CPU中,内存中的数据会在多个核心中存在数据副本,某一个核心发生修改操作,就产生了数据不一致的问题,而一致性协议正是用于保证多个CPU cache之间缓存共享数据的一致性。cache的写操作write through 写通每次CPU修改cache中的内容会立即更新到内存,也就意味着每次CPU写共享数据,会导致总线事务,因此这种方式常常会...

2019-09-23 10:43:00 56

转载 Java内存模型 (一)什么是进程?什么是线程?进程和线程之间的区别是什么?...

什么是进程?什么是线程?进程是系统中正在运行的一个程序,程序一旦运行就是进程。进程可以看成程序执行的一个实例。进程是系统资源分配的独立实体,每个进程都拥有独立的地址空间。一个进程无法访问另一个进程的变量和数据结构,如果想让一个进程访问另一个进程的资源,需要使用进程间通信,比如管道,文件,套接字等。一个进程可以拥有多个线程,每个线程使用其所属进程的栈空间。线程与进程的一个主要区...

2019-09-23 10:27:00 32

转载 什么是线程阻塞?为什么会出现线程阻塞?

什么是线程阻塞?在某一时刻某一个线程在运行一段代码的时候,这时候另一个线程也需要运行,但是在运行过程中的那个线程执行完成之前,另一个线程是无法获取到CPU执行权的(调用sleep方法是进入到睡眠暂停状态,但是CPU执行权并没有交出去,而调用wait方法则是将CPU执行权交给另一个线程),这个时候就会造成线程阻塞。为什么会出现线程阻塞?1.睡眠状态:当一个线程执行代码...

2019-09-23 10:21:00 63

转载 [转]1.2 java web的发展历史

前言 了解java web的发展历史和相关技术的演进历程,非常有助于加深对java web技术的理解和认识。阅读目录1、Servlet的出现2、Jsp的出现3、倡导了MVC思想的Servlet版本1.2出现——JSP+Servlet+JavaBean4、框架阶段4.1、Struts的出现4.2、Spring的出现4.3、SpringMVC的...

2019-09-22 14:36:00 82

转载 [转]基于VS Code快速搭建Java项目

有时候随手想写一点Java测试代码,以控制台程序为主,还会用到一些其它框架,并基于Maven构建。1、Java Extension Pack一定要安装。2、VS Code打开一个指定目录,创建相应的目录:src\main\java,用来存放我们编写的Java代码。3、创建pom.xml,里面复制简单的项目信息即可(根据实际情况调整Java版本、编译目标平台等),参考如下:...

2019-09-22 10:31:00 93

转载 [转]Java Web工程目录结构

说明介绍java web 工程的基本结构目录。记录java web 工程结构的学习。Java web 结构java web严格来说分为两类工程结构:一个是工程编译目录结构,一个是工程发布目录结构。工程发布目录结构结构,为servlet容器加载web应用的统一标准目录,而工程编译目录结构是为了方便工程编写、修改的临时结构,需要通过工程构建工具(ant,maven,gradl...

2019-09-22 10:29:00 24

转载 [转]JavaWeb工程 目录结构

今天为此事纠结了一段时间。以下是mavaen推荐的项目目录.├── pom.xml└── src├── main│ ├── java│ │ └── mygroup│ │ ├── controller│ │ │ ├── HomeController.java...

2019-09-22 10:24:00 50

转载 [转]VsCode搭建Java开发环境(Spring Boot项目创建、运行、调试)

源码地址:https://github.com/YANGKANG01/Spring-Boot-Demo安装扩展安装如下两个主要扩展即可,这两个扩展已关联java项目开发主要使用的maven、springboot等所需要的扩展。开始步骤:在 Visual Studio Code 中打开扩展视图(Ctrl+Shift+X)。输入“java”搜索商店扩展插件。...

2019-09-21 21:19:00 337

转载 MySQL慢日志

1 /*查看慢SQL日志是否启用(on表示启用):*/ 2 show variables like 'slow_query_log'; 3 /*开启慢SQL日志查询*/ 4 set global slow_query_log = 1; 5 6 /*查询慢日志在哪里*/ 7 show variables like 'slow_query_log_file';...

2019-09-20 11:22:00 30

转载 百万级数据生成。

-- 用户表CREATE TABLE `person` ( `id` bigint(20) unsigned NOT NULL, `fname` varchar(100) NOT NULL, `lname` varchar(100) NOT NULL, `age` tinyint(3) unsigned NOT NULL, `sex` tinyint...

2019-09-20 09:08:00 90

转载 Java锁的种类

Java锁的种类以及辨析              锁作为并发共享数据,保证一致性的工具,在JAVA平台有多种实现(如 synchronized 和 ReentrantLock等等 ) 。这些已经写好提供的锁为我们开发提供了便利,但是锁的具体性质以及类型却很少被提及。本系列文章将分析JAVA中常见的锁以及其特性,为大家答疑解惑。1、自...

2019-09-19 17:22:00 29

转载 java8流式编程(一)

传送门《JAVA8开发指南》为什么你需要关注 JAVA8《Java8开发指南》翻译邀请Java8初体验(一)lambda表达式语法Java8初体验(二)Stream语法详解使用stream操作表达更高级的数据处理请求, Part 1Java FP: Java中函数式编程的谓词函数(Predicates)第一部分话说模式匹配(8) 一个抽取器的例...

2019-09-19 16:53:00 26

转载 认知升级-成败取决于见识

最近在读吴军的《谷歌方法论》和《见识》,结合自己的理解分享一下里面的观点。一本书其实观点也就一页纸这么多,其他的内容都是在举例子证明这些观点。不同的人在不同的年龄段对书中观点的理解会不一样,因为观点的理解和自己的经历有关,经历和观点产生共鸣才能有所收获。所以我并没有把书中全部的观点总结出来,而是结合自己的经历来做一次分享。人生学会做减法生有涯,知无涯。如果做得事情不对,就算提...

2019-09-19 16:15:00 30

转载 你真的了解延时队列吗(一)

1 使用场景关闭空闲连接。服务器中,有很多客户端的连接,空闲一段时间之后需要关闭之。清理过期数据业务上。比如缓存中的对象,超过了空闲时间,需要从缓存中移出。任务超时处理。在网络协议滑动窗口请求应答式交互时,处理超时未响应的请求。下单之后如果三十分钟之内没有付款就自动取消订单。订餐通知:下单成功后60s之后给用户发送短信通知。当订单一直处于未支付状态时,如何及时...

2019-09-19 16:10:00 50

转载 AKKA文档2.1(java版)——什么是AKKA?

可扩展的实时事务处理我们相信编写并发、容错、可扩展的应用相当的困难。盖因大多数时候我们一直在使用错误的工具和错误的抽象等级。AKKA就是为了改变这一切的。我们利用角色模型提升了抽象等级,并且提供了一个用来构建可扩展的、弹性的以及响应式应用的更好的平台——更多信息请见Reactive Manifesto。对于容错机制我们采用“让它崩溃”模型,这一模型已在电信行业取得了巨大的成...

2019-09-19 13:10:00 23

转载 AKKA文档2.2(java)——术语,概念

原文:http://doc.akka.io/docs/akka/2.3.6/general/terminology.html译者:吴京润本章我们试图建立一个通用的术语列表,用来定义有关并发和分布式系统的坚实的基础,而这也是akka的目标。请注意,在这些术语当中许多并没有一致的定义。我们简单的寻求在akka文档范围内使用的工作定义。并发与并行并发与并行是相关的概念,...

2019-09-19 11:30:00 30

转载 AKKA文档2.3(java版)—什么是角色

原文:http://doc.akka.io/docs/akka/2.3.5/general/actors.html译者:Vitas什么是角色?前面角色系统一节介绍了一群角色如何形成一个层次结构,并且介绍了角色是构建应用程序的最小单位。本节我们将角色拿出来单独介绍,解释一些你在使用它的过程中可能遇到的概念。对于一些更深入的细节,将会在后面的章节中详细介绍。你可以将角色...

2019-09-19 11:24:00 26

转载 Akka简介与Actor模型(一)

前言......Akka是一个构建在JVM上,基于Actor模型的的并发框架,为构建伸缩性强,有弹性的响应式并发应用提高更好的平台。本文主要是个人对Akka的学习和应用中的一些理解。Actor模型Akka的核心就是Actor,所以不得不说Actor,Actor模型我通俗的举个例子,假定现实中的两个人,他们只知道对方的地址,他们想要交流,给对方传递信息,但是又没有手机,电话,网...

2019-09-19 11:19:00 40

转载 基于硬件的消息队列中间件 Solace 简介之二

前言......前面简单介绍了Solace来自于哪家公司, 主要能做哪些事情. 本篇主要进一步介绍Solace作为消息传递的中间件如何工作的.传统意义上来讲, 每当我们谈到消息中间件时, 首先想到的是基于Message Queue,有Apache的 Active MQ, IBM的Webshere的 MQ, Rabbit MQ都是基于内存/持久化到磁盘来实现的. 还有一种Or...

2019-09-19 10:40:00 108

转载 中间消息件之 Solace(一) Solace的简介

什么是Solace?Solace是一家加拿大注册的公司,总部设在安大略省渥太华. 成立于2001年. 这家公司一直致力于获取信息的艺术和科学,并提供世界上最灵活,最强大的数据移动平台。背景在信息爆炸的时代, 信息/数据已成为每个行业的生命线。如黑石收购汤森路透F&R的55%股权, 目标就是路透拥有的数据资源. 关于路透超百年的金融交易记录以及它的发展史, 大家可...

2019-09-19 10:35:00 99

转载 [转]解决pip安装太慢的问题

阅读目录临时使用:经常在使用Python的时候需要安装各种模块,而pip是很强大的模块安装工具,但是由于国外官方pypi经常被墙,导致不可用,所以我们最好是将自己使用的pip源更换一下,这样就能解决被墙导致的装不上库的烦恼。网上有很多可用的源,例如豆瓣:http://pypi.douban.com/simple/ ...

2019-09-18 21:28:00 140

转载 FastJson只序列化java对象的部分属性

实体类public class Student { private int id; private String name; private int age; //get set方法略}如下方法:Student student = new Student(0, "Aaron", 24);System.out.pri...

2019-09-18 17:23:00 43

转载 Java并发编程:Lock

Java并发编程:Lock  在上一篇文章中我们讲到了如何使用关键字synchronized来实现同步访问 传送门。本文我们继续来探讨这个问题,从Java 5之后,在java.util.concurrent.locks包下提供了另外一种方式来实现同步访问,那就是Lock。  也许有朋友会问,既然都可以通过synchronized来实现同步访问了,那么为什么还需要提供Lock?这个...

2019-09-18 16:15:00 21

转载 Java集合必会14问(精选面试题整理)

前言....前言:把这段时间复习的关于集合类的东西整理出来,特别是HashMap相关的一些东西,之前都没有很注意1.7 ->> 1.8的变化问题,但后来发现这其实变化挺大的,而且很多整理的面试资料都没有更新(包括我之前整理的...)1)说说常见的集合有哪些吧?答:Map接口和Collection接口是所有集合框架的父接口:Collect...

2019-09-18 15:54:00 34

转载 Java I/O不迷茫,一文为你导航!

前言......前言:在之前的面试中,每每问到关于Java I/O 方面的东西都感觉自己吃了大亏..所以这里抢救一下..来深入的了解一下在Java之中的 I/O 到底是怎么回事..文章可能说明类的文字有点儿多,希望能耐心读完..什么是 I/O?学习过计算机相关课程的童鞋应该都知道,I/O 即输入Input/ 输出Output的缩写,最容易让人联想到的就是屏...

2019-09-18 15:52:00 26

转载 Java并发编程:volatile关键字解析

前言.............volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。  volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有...

2019-09-18 10:31:00 18

转载 SpringCloud(0) 外行人都能看懂的SpringCloud,错过了血亏!

一、前言只有光头才能变强认识我的朋友可能都知道我这阵子去实习啦,去的公司说是用SpringCloud(但我觉得使用的力度并不大啊~~)...所以,这篇主要来讲讲SpringCloud的一些基础的知识。(我就是现学现卖了,主要当做我学习SpringCloud的笔记吧!)当然了,我的水平是有限的,可能会有一些理解错的的概念/知识点,还请大家不吝在评论区指正啊~~S...

2019-09-18 09:08:00 50

空空如也

空空如也

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