自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 资源 (1)
  • 收藏
  • 关注

转载 深入理解 Spring 事务原理

一、事务的基本原理Spring事务 的本质其实就是数据库对事务的支持,没有数据库的事务支持,spring是无法提供事务功能的。对于纯JDBC操作数据库,想要用到事务,可以按照以下步骤进行:    获取连接 Connection con = DriverManager.getConnection()    开启事务con.setAutoCommit(true/false);    执行CRU...

2018-07-30 20:45:45 252

转载 多线程中的volatile和伪共享

伪共享 false sharing,顾名思义,“伪共享”就是“其实不是共享”。那什么是“共享”?多CPU同时访问同一块内存区域就是“共享”,就会产生冲突,需要控制协议来协调访问。会引起“共享”的最小内存区域大小就是一个cache line。因此,当两个以上CPU都要访问同一个cache line大小的内存区域时,就会引起冲突,这种情况就叫“共享”。但是,这种情况里面又包含了“其实不是共享”的“伪共...

2018-07-09 14:48:01 514

转载 对线程池简单理解

线程池的好处:1,因为线程是比较昂贵的资源,避免大量重复创建销毁线程,使用者不用关心创建销毁线程。2,用户提交的任务能够及时的得到处理,提高响应速度。3,能够更好的监控和管理线程。ThreadPoolExecutor参数 int corePoolSize 线程池基本大小int maximumPoolSize 线程池最大大小long keepAliveTime 保持活动时间TimeUnit unit...

2018-07-05 14:54:55 284

转载 非阻塞同步算法与CAS(Compare and Swap)无锁算法

锁(lock)的代价锁是用来做并发最简单的方式,当然其代价也是最高的。内核态的锁的时候需要操作系统进行一次上下文切换,加锁、释放锁会导致比较多的上下文切换和调度延时,等待锁的线程会被挂起直至锁释放。在上下文切换的时候,cpu之前缓存的指令和数据都将失效,对性能有很大的损失。操作系统对多线程的锁进行判断就像两姐妹在为一个玩具在争吵,然后操作系统就是能决定他们谁能拿到玩具的父母,这是很慢的。用户态的锁...

2018-06-16 09:10:07 337

转载 docker环境搭建centos+jdk+tomcat_CENTOS篇

前言(1)写在前面的话,鉴于在linux或类unix系统中安装jdk+tomcat等环境,没有什么经验,所以选择在docker容器中安装之,以防止安装失败无法恢复系统(2)需要下载对应的系统的docker镜像,如:centos、Ubuntu等(3)本文并未没有docker安装所需的相关环境说明,可自行查看官网并安装之,此处略1、下载CENTOS的docker镜像镜像下载地址DaoCloud[roo...

2018-05-22 19:16:33 239 1

转载 Dubbo与Zookeeper、SpringMVC整合和使用

作为dubbo框架初学者,能让框架跑起来非常不容易,非常感谢网上诸多大神提供的文章,本人参考文章地址是:https://my.oschina.net/xshuai/blog/891281不过别人的记录终究不适合自己,所以还是按照自己的风格简单记录下学习dubbo整合的步骤。windows环境介绍:  myeclipse 10  jdk1.6  tomcat 6.0.35  一、安装Zookeepe...

2018-04-20 16:16:39 190

转载 Martin Fowler谈微服务的优缺点

君子性非异也,善假于物也。大师搞软件开始考虑成本问题了,这是很多技术人不屑于谈的问题啊!【大牛观点】Martin Fowler谈微服务的优缺点【编者的话】本文作者Martin Fowler是软件开发和设计领域的专家。微服务已经成为当下架构设计的热门话题,本文分析了微服务的优缺点,特别指出了当对微服务做出取舍时需要考量的各种因素,写的很细致,发人思考。很多开发团队已经认识到微服务架构比单体架构更优越...

2018-04-19 16:29:22 213

转载 从 Spring Cloud 开始,聊聊微服务架构的实践之路

这是今天读的一篇文章,感觉挺好,可以对微服务有一个宏观的认识。from:http://www.jianshu.com/p/45f35e05c350?ref=myread背景随着公司业务量的飞速发展,平台面临的挑战已经远远大于业务,需求量不断增加,技术人员数量增加,面临的复杂度也大大增加。在这个背景下,平台的技术架构也完成了从传统的单体应用到微服务化的演进。系统架构的演进过程单一应用架构(第一代架构...

2018-04-19 16:25:38 202

转载 Martin Fowler关于微服务的原文翻译(一)

微服务一个新的架构术语“微服务架构”一词是在过去几年里涌现出来的,它用于描述一种独立部署的软件应用设计方式。这种架构方式并没有非常明确的定义,但有一些共同的特点就是围绕在业务能力、自动化布署、端到端的整合以及语言和数据的分散控制上面。“微服务”- 这是在软件架构领域这个非常拥挤的街道上,冒出的一个新名词而已。虽然我们对这个新出的名词不屑一顾,但是它所描述的软件系统的风格越来越吸引我们的注意力。在过...

2018-04-19 15:16:08 1242

转载 SpringBoot初始教程之Redis集中式Session管理

1.介绍有关Session的管理方式这里就不再进行讨论,目前无非就是三种单机Session(基于单机内存,无法部署多台机器)、基于Cookie(安全性差)、基于全局的统一Session管理(redis、mysql)等多种方式 针对于像淘宝这种超大型网站来说Session如何管理的就无从得知了、但是可以通过yy的方式想象一下,这种大型架构都需要部署多台认证Server,但是一般来说集中式Sessio...

2018-04-19 10:40:40 172

转载 @Autowired和@Resource的区别是什么?

作者:wuxinliulei链接:https://www.zhihu.com/question/39356740/answer/80926247来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。@Autowired 与@Resource:1、@Autowired与@Resource都可以用来装配bean. 都可以写在字段上,或写在setter方法

2018-04-18 16:32:11 226

转载 Swagger原理解析

swagger简介swagger确实是个好东西,可以跟据业务代码自动生成相关的api接口文档,尤其用于restful风格中的项目,开发人员几乎可以不用专门去维护rest api,这个框架可以自动为你的业务代码生成restfut风格的api,而且还提供相应的测试界面,自动显示json格式的响应。大大方便了后台开发人员与前端的沟通与联调成本。springfox-swagger简介

2018-04-18 15:05:37 3290 4

转载 JVM加载class文件的原理机制

阅读目录1、JVM 简介2、JVM 的组成部分3、JVM加载class文件的原理机制   在面试java工程师的时候,这道题经常被问到,故需特别注意。回到顶部1、JVM 简介  JVM 是我们Javaer 的最基本功底了,刚开始学Java 的时候,一般都是从“Hello World ”开始的,然后会写个复杂点class ,然后再找一些开源框架,比如Spring ,H

2018-04-13 17:13:37 229

转载 面试中单例模式有几种写法

纠结单例模式有几种写法有用吗?有点用,面试中经常选择其中一种或几种写法作为话头,考查设计模式和coding style的同时,还很容易扩展到其他问题。这里讲解几种猴哥常用的写法,但切忌生搬硬套,去记“茴香豆的写法”。编程最大的乐趣在于“know everything, control everything”。大体可分为4类,下面分别介绍他们的基本形式、变种及特点。饱汉模式饱

2018-04-13 12:00:57 204

转载 Java集合专题总结(1):HashMap 和 HashTable 源码学习和面试总结

2017年的秋招彻底结束了,感觉Java上面的最常见的集合相关的问题就是hash……系列和一些常用并发集合和队列,堆等结合算法一起考察,不完全统计,本人经历:先后百度、唯品会、58同城、新浪微博、趣分期、美团点评等都在1、2……面的时候被问过无数次,都问吐了&_&,其他公司笔试的时候,但凡有Java的题,都有集合相关考点,尤其hash表……现在总结下。Java集合概述HashMap...

2018-04-04 15:45:25 170

转载 java类中serialversionuid 作用 是什么?举个例子说明

serialVersionUID适用于Java的序列化机制。简单来说,Java的序列化机制是通过判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体类的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现序列化版本不一致的异常,即是InvalidCastEx...

2018-04-04 15:36:58 188

转载 大型网站应用之海量数据和高并发解决方案总结一二

一、网站应用背景开发一个网站的应用程序,当用户规模比较小的时候,使用简单的:一台应用服务器+一台数据库服务器+一台文件服务器,这样的话完全可以解决一部分问题,也可以通过堆硬件的方式来提高网站应用的访问性能,当然,也要考虑成本的问题。当问题的规模在经济条件下通过堆硬件的方式解决不了的时候,我们应该通过其他的思路去解决问题,互联网发展至今,已经提供了很多成熟的解决方案,但并不是都具有适用性,你把淘宝的...

2018-03-31 17:14:53 575

转载 MySQL开发规范与使用技巧总结

1.命名规范1.库名、表名、字段名必须使用小写字母,并采用下划线分割。 a)MySQL有配置参数lower_case_table_names,不可动态更改,linux系统默认为 0,即库表名以实际情况存储,大小写敏感。如果是1,以小写存储,大小写不敏感。如果是2,以实际情况存储,但以小写比较。 b)如果大小写混合使用,可能存在abc,Abc,ABC等多个表共存,容易导致混乱。 c)字段名显示区分大...

2018-03-31 17:12:50 139

转载 友盟统计准确性如何?

作者:匿名用户链接:https://www.zhihu.com/question/20781136/answer/32315303来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。讨论数据准不准,先看统计原理和标准。有兴趣的开发者可以查看这篇文档友盟移动应用统计的基本原理及 友盟UMID 方案解析下面再具体分析几个开发者口中常见的“不准”

2018-01-22 13:46:04 4913 1

转载 mybatis-generator 代码自动生成工具(maven方式)

由于MyBatis属于一种半自动的ORM框架,所以主要的工作将是书写Mapping映射文件,但是由于手写映射文件很容易出错,mybatis-gennerator插件帮我们自动生成mybatis所需要的dao、bean、mapper xml文件。这里主要通过eclipse工具,来讲解实现;1、建表语句CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO

2018-01-18 16:51:35 252

转载 SpringMVC中controller中方法返回类型为ResponseEntity<String>乱码的问题

返回类型为ResponseEntity代表我们返回的数据是一个对象,在springMVC中,请求数据到对象和对象到响应数据的转换是通过消息转换器来完成的。HttpMessageConverter是消息转换器的顶层接口,所有的消息转换器都必须实现这个接口[java] view plain copypackage org.sp

2018-01-15 16:58:37 12745

转载 Maven中的dependencyManagement 意义

1.在Maven中dependencyManagement的作用其实相当于一个对所依赖jar包进行版本管理的管理器。 2.pom.xml文件中,jar的版本判断的两种途径1:如果dependencies里的dependency自己没有声明version元素,那么maven就会倒dependencyManagement里面去找有没有对该artifactId和group

2018-01-15 14:19:11 262

转载 ContextLoaderListener和Spring MVC中的DispatcherServlet学习

DispatcherServlet介绍DispatcherServlet是Spring前端控制器的实现,提供Spring Web MVC的集中访问点,并且负责职责的分派,与Spring IoC容器无缝集成,从而可以获得Spring的所有好处。DispatcherServlet主要用作职责调度工作,本身主要用于控制流程,主要职责如下:1、文件上传解析,如果请求类型是multi

2017-12-25 10:54:19 127

转载 解决maven update project 后项目jdk变成1.5的问题

一、问题描述在Eclipse中新建了一个Maven工程, 然后更改JDK版本为1.7, 结果每次使用Maven > Update project的时候JDK版本都恢复成1.5。二、原因分析Maven官方文档有如下描述:编译器插件用来编译项目的源文件.从3.0版本开始, 用来编译Java源文件的默认编译器是javax.tools.JavaCompiler (如果你是用的是java

2017-12-25 10:20:05 981

转载 验证码功能实现

验证码基础一.什么是验证码及它的作用   :验证码为全自动区分计算机和人类的图灵测试的缩写,是一种区分用户是计算机的公共全自动程序,这个问题可以由计算机生成并评判,但是必须只有人类才能解答.可以防止恶意破解密码、刷票、论坛灌水、有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登录。 二.图文验证码的原理   :在servlet中随机生成一

2017-12-23 19:54:49 820

转载 浅谈JSONP跨域请求

第一次听说JSONP跨域请求还是去年刚入职实习的时候,也借那个机会在网上好好了解了下用法,但是对于其如何实现还是不太明白。昨天一同事问我当时对JSONP的使用情况,突然发现一年多没用,对于这个跨域请求技术又忘的差不多了,刚好不知道这个星期该写篇什么方面的文章,那就趁这个机会再把JSONP琢磨琢磨顺便把过程记录下来,免得下次不记得了又得到网上到处找资源查阅。OK,进入正题!!!!

2017-12-01 11:03:53 117

转载 Integer 中的缓存类IntegerCache

2014年去某公司笔试的时候遇到这么一道题:public class Test { public static void main(String[] args) { Integer int1 = Integer.valueOf("100"); Integer int2 = Integer.valueOf("100"); Syste

2017-11-08 16:17:52 206

转载 ajax 跨域请求

ajax 跨域请求(servlet容器为tomcat) 有两种解决办法 1:jQuery jsonp方式(据说不支持 POST,即使将 type 的值修改为 POST ,也会被当成 GET 请求) js示例代码 function ajaxJsonp() { $.ajax({ url : “http://web2.lp.com:8080/MytestWeb/s

2017-07-27 11:00:14 182

转载 spring 整合 redis,以及spring的RedisTemplate如何使用

需要的jar包 spring-data-Redis-1.6.2.RELEASE.jar jedis-2.7.2.jar(依赖 commons-pool2-2.3.jar) commons-pool2-2.3.jarspring-redis.xml 配置文件beans xmlns="http://www.springframework.org/schema/beans"

2017-07-27 10:35:40 1100

转载 spring data redis 操作redis

这篇文章主要说spring data Redis 集成jedis操作 redis中的数据。还有一个和spring mvc 的小整合。实现了对用户的添加查询操作,后期有需要大家可以自己扩展。代码目录结构如下下面列出几个主要的文件吧,最后面有整个工程的下载pom.xml[html] view plain copy

2017-07-21 15:36:48 237

转载 Redis常用的五种数据类型

Redis常用的五种数据类型String (Key-Value)String是最常用的一种数据类型,普通的key/value存储都可以归为此类。一个Key对应一个Value,string类型是二进制安全的。Redis的string可以包含任何数据,比如jpg图片(生成二进制)或者序列化的对象。基本操作如下:[java] view plain co

2017-07-21 15:32:36 305

转载 oracle教程:PLSQL常用方法汇总

在SQLPLUS下,实现中-英字符集转换alter session set nls_language='AMERICAN';alter session set nls_language='SIMPLIFIED CHINESE'; 主要知识点:一、有关表的操作1)建表create table test as select * from dept; --从已知表复制数据

2017-07-21 10:24:58 247

转载 MAC下MYSQL5.7.17无法连接的问题

MAC下MYSQL5.7.17无法连接的问题,下载安装完SQLBench_community 6.3.9后新建MYSQL CONNECTIONS根本连接不上,提示为密码错。具体表现为:Access denied for user 'root'@'localhost' (using password: YES)Step1: 苹果->系统偏好设置->最下边点MySQL 在弹出页面中 关

2017-07-16 08:04:05 318

原创 MQ在分布式系统中的应用于协作

前期业务比较简单  用户量不大 系统压力较小1.单系统应用架构接入层:nginx  路由Tomcat    业务层:Java  application    数据层:MySQL            controller service  dao2.当单一应用越来越庞大,业务复杂度迅速上升     方案一:将单一的业务项目拆分成多个独立子废物,

2017-05-31 22:28:37 1221

转载 docker

mac 安装先安装docker下载地址:https://www.docker.com/products/docker-toolbox一路默认安装直到让你选择Docker Quickstart Terminal还是Kitematic ,选择docker会去默认安装,继续就ok了验证是否成功:[plain] view plain copy

2017-05-31 22:27:13 203

原创 java 本地事务

spring 事务不是在Java定义的基础上做得封装,事务的支持离不开数据库支持事务mysql 两种引擎:innodb 引擎是支持事务的  service 层事务控制是完全有效mylsam 引擎不支持事务,这个引擎上做得service层事务控制是完全无效的事务本质:实际上是需要我们数据库支持事务事务:代表一组完整单元,在这个单元当中多个操

2017-05-31 22:09:13 318

原创 zookeeper 分布式锁解析

需要用到锁的地方:如秒杀,生成唯一订单,接口的幂等性分布锁实现:1.redis:setnx实现 2.memcached:add实现百分之八九十都使用redis,很少使用memcached特点:不可重入、非阻塞 部分不支持持久化(redis支持持久化,它有两种方式支持持久化)3.zookeeper实现的优点:可重入、安全性高zookeepe

2017-05-31 22:06:40 454

原创 使用Gulp + Webpack定制前端开发环境

Gulp  任务管理器Webpack 模块化加载器  部署项目时,打包压缩css,js等资源

2017-05-31 22:04:18 815

转载 localhost与127.0.0.1的区别

localhost与127.0.0.1的区别是什么?相信有人会说是本地ip,曾有人说,用127.0.0.1比localhost好,可以减少一次解析。看来这个入门问题还有人不清楚,其实这两者是有区别的。no1:localhost也叫local ,正确的解释是:本地服务器127.0.0.1在windows等系统的正确解释是:本机地址(本机服务器)no2:localh

2017-05-29 10:06:35 282

转载 MySQL忘记密码后重置密码(Mac )

关闭mysql服务器sudo /usr/local/mysql/support-files/mysql.server stop也可以在系统偏好里有个MySQL里关闭。cd /usr/local/mysql/bin    进入目录sudo su 获取权限 ./mysqld_safe --skip-grant-tables & 重启服务器重开个终端,配置短命令:alias my

2017-05-18 20:52:58 343

支付宝java面试宝典

支付宝java面试宝典,提供面试经验,为想进淘宝的朋友们提供参考,明确自己的方向

2014-03-22

空空如也

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

TA关注的人

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