- 博客(44)
- 收藏
- 关注
原创 Http与Https
写在前面我们可以在浏览器的url栏中看到有http开头的,也有https开头的,这两个协议有什么区别呢?这期我们来简单的了解一下。前言超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:...
2019-04-17 12:01:52 235
原创 TIMESTAMP和DATETIME的比较
TIMESTAMP和DATETIME的相同点:两者都可用来表示YYYY-MM-DD HH:MM:SS[.fraction]类型的日期。TIMESTAMP和DATETIME的不同点:1、两者的存储方式不一样对于TIMESTAMP,它把客户端插入的时间从当前时区转化为UTC(世界标准时间)进行存储。查询时,将其又转化为客户端当前时区进行返回。而对于DATETIME,不做任何改变,基本上是原样...
2019-04-17 11:50:18 1876
原创 记一次给MacPro配置Java环境
文章目录前言下载JDK安装JDK配置PATH和CLASSPATH查看JAVA_HOME是否配置成功关于App Store无法连接问题及后续前言啊啊啊啊啊!终于换MacPro啦,迎来人生中的第二台个人笔记本,同时也意味着接下来的半年要节衣缩食、艰苦度日。换电脑之前我已经给自己设想过各种坑,不会开机怎么办,不会快捷键怎么办,不会装环境怎么办,不会打字怎么办…However ,还没收到货,兴奋劲...
2019-04-16 11:48:35 1442
转载 Spring Boot Actuator:健康检查、审计、统计和监控
文章目录前言创建一个有Actuator的Spring Boot工程增加Spring Boot Actuator到一个存在的应用使用Actuator Endpoints来监控应用打开和关闭Actuator Endpoints暴露Actuator Endpoints解析常用的actuator endpoint/health endpoint显示详细的健康信息创建一个自定义的健康指标/metrics e...
2019-04-10 16:56:35 9781
转载 logback详解
文章目录前言一、logback的介绍二、logback取代log4j的理由三、logback的配置介绍四、logback的默认配置五、logback.xml常用配置详解六、常用logger配置七、Demo八、总结前言由于之前日志管理一直使用的是log4j,在使用Spring Boot后,接触到了Logback,默认情况下,spring boot使用Logback作为日志实现的框架。当时有个项目...
2019-03-26 14:39:20 322
原创 由一个NoSuchMethodError报错引发的思考
文章目录前言项目结构类加载前言前几天在dev环境遇到一个问题,一个同事在原有的数据库映射表的实体类中新增一个属性,在service中调用了这个属性的get方法,接口调用的时候报错get方法找不到,但代码中明明有此方法,同时在本地访问又是正常的,当时就怀疑是环境问题,对比一下本地的java环境和linux服务器上的环境,没有发现问题,于是开始面向搜索来寻找解决办法,在网上看到这样一篇博文《jav...
2019-03-20 11:32:58 465
转载 图解HashMap和HashSet的内部工作机制
本文由 ImportNew - 齐帜背单词吧 翻译自 Arulkumaran Kumaraswamipillai。欢迎加入翻译小组。转载请见文末要求。HashMap 和 HashSet 内部是如何工作的?散列函数(hashing function)是什么?HashMap 不仅是一个常用的数据结构,在面试中也是热门话题。Q1. HashMap 如何存储数据?A1. 以键/值对(key/val...
2019-02-28 17:48:43 189
原创 Java集合之HashSet、HashTable、HashMap的比较
HashSetHashTableHashMap父类AbstractSetDictionaryAbstractMap接口Set, Cloneable, java.io.SerializableMap<K,V>, Cloneable, java.io.SerializableMap<K,V>, Cloneable, Serializab...
2019-02-28 17:06:00 131
原创 Java 集合框架之Set系列源码解析
一、前言在上篇《Java 集合框架之Collection源码解析》中,主要对集合层次结构中的根接口Collection进行源码分析,本章将针对其子接口Set系列展开分析。二、SetSet是继承Collection接口的不包含重复元素的集合。public interface Set<E> extends Collection<E> { ..
2019-02-28 16:39:50 411 2
原创 Java 集合框架之Collection源码解析
文章目录一、前言二、总览三、Collection一、前言在实际的开发场景中我们经常会用的集合,什么情况下选择什么类型的集合是Java使用过程中开发人员必须掌握的技能,而且在很多面试过程中,这一块的内容也是必考的。在很多技术博客上已经有很多分享和总结,今天我将从各个接口和集合类的源码分析入手,深入了解集合的底层结构。二、总览三、CollectionCollection集合层次结构中的根接...
2019-02-27 19:08:35 515
翻译 Kafka介绍
Kafaka介绍ApacheKafka是一个分布式流媒体平台。流媒体平台有三个关键功能:发布和订阅记录流,类似于消息队列或企业消息传递系统。以容错的持久方式存储记录流。处理发生的记录流。Kafka通常用于两大类应用程序:构建实时流数据管道,可靠地获取系统或应用程序之间的数据构建转换或响应数据流的实时流应用程序首先有几个概念:Kafka作为集群运行在一个或多个服务器上,这...
2019-01-30 16:13:09 413 1
原创 windows+zookeeper+kafka安装配置及测试
文章目录环境准备安装zookeeper安装kafkakafka之Topickafka之Producerkafka之Consumer最后环境准备win7 系统java环境:jdk1.8安装zookeeperzookeeper下载地址:https://www.apache.org/dyn/closer.cgi/zookeeper/下载至本地解压在系统环境变量中设置ZOOKEEPER_H...
2019-01-30 16:12:26 979
原创 ElasticSearch+ES HEAD安装详细教程
最近公司开发一个数据分析的功能,经过技术评审决定使用ElasticSearch进行实现。记第一次使用ES关于Id设置的问题关于ElasticsearchRepository启动加载问题...
2019-01-28 11:05:57 3822 1
转载 MySQL 索引原理及设计
文章目录前言主索引和辅助索引ORDER BY 如何使用索引页分裂前言索引一直是数据库中非常重要的概念,所以了解索引相关的知识是转入后端开发中必不可少的一环。这篇文章是我从开始做后端开发之后至今学习关于索引知识的一个总结,从原先很多概念的模糊和不理解到现在大致有一个比较清楚的认知,尽量会把关于索引的一些点以及为什么需要这么做给解释明白,包括使用 InnoDB 引擎的 MySQL 索引的相关概念,...
2019-01-15 11:54:54 170
原创 Spring Cloud Ribbon客户端负载均衡(三)
前言通过前两节Spring Cloud Ribbon客户端负载均衡(一),Spring Cloud Ribbon客户端负载均衡(二)的介绍,我们已经对SpringCloud如何使用Ribbon有了基本的了解。虽然SpringCloud中定义了LoadBalancerClient作为负载均衡器的通用接口,并且针对Ribbon实现了RibbonLoadBalancerClient,但是它在具体实现客...
2019-01-10 16:05:50 1003
原创 Spring Cloud Ribbon客户端负载均衡(二)
文章目录前言@LoadBalancedLoadBalancerAutoConfigurationLoadBalancerInterceptor拦截器RibbonLoadBalancerClient小结前言上节我们主要介绍了RestTemplate几种常见的REST请求:Spring Cloud Ribbon客户端负载均衡(一)接下来针对@LoadBalanced注解展开源码分析@LoadB...
2019-01-07 18:15:23 257
原创 Spring Cloud Ribbon客户端负载均衡(一)
前言Spring Cloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,,它基于Netflix Ribbon实现,在本文中我们主要来介绍如何使用Ribbon来实现客户端的负载均衡,并通过源码分析来了解Ribbon实现客户端负载均衡的基本原理。客户端负载均衡我们通常说的负载俊航一般是指服务端的负载均衡,包括硬件负载均衡和软件负载均衡,其中硬件负载均衡主要是通过在服务器节点之间...
2019-01-07 18:06:15 298
原创 Git学习笔记
git commitgit checkout -b <分支名> 和 git branch <分支名> git checkout <分支名>git mergegit reba
2019-01-04 17:41:49 441
原创 Spring Cloud Eureka 源码解析
文章目录写在前面@EnableDiscoveryClient注解com.netflix.discovery.DiscoveryClient类Region、ZoneserviceUrls服务注册服务获取与服务续约写在前面在看具体源码之前我们先回顾一下之前在《服务治理:Spring-cloud Eureka入门实例详解》所实现的内容。首先,对于服务注册中心、服务提供者、服务消费者这三个主要元素来说...
2018-12-11 18:28:38 1011
转载 【转载】蚂蚁金服异地多活的微服务体系
从“被动挖光缆”到“主动剪网线”,蚂蚁金服异地多活的微服务体系 蚂蚁金服(当时还是支付宝)从 2013 年起就运行在单元化架构上,除了具备异地容灾能力外,还能做到异地多活,可随时在多城市、多数据中心调配流量。基于单元流量调配机制,可实现大规模集群的蓝绿发布、灰度仿真环境,为充分验证业务正确性、降低故障提供了基础条件。相应地,微服务体系也必须具备单元内收敛、单元间可控路由等能力,来支撑单元化技术...
2018-11-30 16:30:01 366
原创 JVM、JRE、JDK
文章目录什么是JVM、JRE、JDKJVMJREJDKJVM java虚拟机jvm内存结构jvm体系总体分为四大块类的加载机制jvm内存结构GC算法 垃圾回收GC分析 命令调优Question什么是JVM、JRE、JDKJVM英文全称Java Virtual Machine,字面意思“Java虚拟机”,简单来说就是个可以运行Java的软件。将.java编译后,会生成相应的.class文件;...
2018-11-19 17:15:02 178
原创 前端js传递中文参数到Java接收乱码的问题
前言最近一次开发过程中遇到一个关于前端js传递中文参数到Java接收乱码的问题。怎么解决呢?相信网上已经有了各种各样的答案,这次我主要记录一下问题的解决思路。思考方向现象编辑文本信息保存到数据库,本地环境和开发环境均正常,测试环境数据库对应属性值乱码。定位环境问题;检查测试环境mysql的字符规则设置,指定UTF-8,正常;打印入参日志,参数值乱码,检测测试环境服务器的字符规则设...
2018-11-16 17:20:12 1903
转载 synchronized的实现原理
文章目录前言使用形式同步方法同步代码块总结前言synchronized,是Java中用于解决并发情况下数据同步访问的一个很重要的关键字。当我们想要保证一个共享资源在同一时间只会被一个线程访问到时,我们可以在代码中使用synchronized关键字对类或者对象加锁。使用形式众所周知,在Java中,synchronized有两种使用形式,同步方法和同步代码块。代码如下:public clas...
2018-10-12 14:41:41 133
转载 JVM内存结构 VS Java内存模型 VS Java对象模型
文章目录前言JVM内存结构Java内存模型Java对象模型前言Java作为一种面向对象的,跨平台语言,其对象、内存等一直是比较难的知识点。而且很多概念的名称看起来又那么相似,很多人会傻傻分不清楚。比如本文我们要讨论的JVM内存结构、Java内存模型和Java对象模型,这就是三个截然不同的概念,但是很多人容易弄混。首先,这三个概念是完全不同的三个概念。本文主要对这三个概念加以区分以及简单介绍。...
2018-10-11 11:39:02 111
转载 UUID的常用生成策略
什么是UUIDUUID是通用唯一识别码(Universally Unique Identifier)的缩写,开放软件基金会(OSF)规范定义了包括网卡MAC地址、时间戳、名字空间(Namespace)、随机或伪随机数、时序等元素。利用这些元素来生成UUID。UUID是UUID是由一组32位数的16进制数字所构成,所以理论上UUID的总数为1632=2128,由128位二进制组成,一般转换成十六...
2018-09-30 10:04:42 6053
原创 设计模式之观察者(Observer)模式
目录认识观察者模式主题+观察者定义观察者模式实例Java内置的观察者模式如何运作?发布+订阅=观察者模式???认识观察者模式报社的业务之一就是出版报纸向某家报社订阅报纸,只要他们有新报纸出版,就是给你送来,只要你是报社的订阅者,你就会一直受到报纸当你不想再看报纸的时候,取消订阅,报社就不会再送新报纸来只要有人向报社订阅报纸或取消报纸,报社就还在经营...
2018-09-13 14:58:01 346
转载 DQL、DML、DDL、DCL的概念与区别
1.前言2.发展史3. SQL语言的分类1. 数据查询语言DQL2 .数据操纵语言DML3. 数据定义语言DDL4. 数据控制语言DCL1.前言SQL(Structure Query Language)语言是数据库的核心语言。2.发展史SQL的发展是从1974年开始的,其发展过程如下: 1974年—–由Boyce和Chamberlin提出,...
2018-08-24 10:15:01 155
原创 eclipse如何安装与使用阿里编码规范插件
安装插件安装插件Help >> Install New Software,打开安装插件界面,点击add(添加),在(URL)位置项中输入以下链接勾选插件,点击[Next]点击[确定]按钮,插件列表读取完成后,点击[全部选中],然后点击[下一步]。选择[我接受许可协议中的条款],点击[完成],等待插件安装完成,完成后重启eclipse即可。...
2018-08-17 18:27:53 2840 1
转载 java 实现websocket的两种方式
java 实现websocket的两种方式一、介绍二、方式一:tomcat三、方法二:spring整合java 实现websocket的两种方式一、介绍1.两种方式,一种使用tomcat的websocket实现,一种使用spring的websocket2.tomcat的方式需要tomcat 7.x,JEE7的支持。3.spring与websocket整...
2018-07-27 15:18:33 1162
转载 【转载】日志组件slf4j的使用和源码分析
slf4j全称是 Simple Logging Facade for Java。facade是一种设计模式。 slf4j 是一个抽象程度更高的日志组件,本身并不提供实际的日志功能。实际的日志功能是通过log4j等日志组件实现,而使用者只需要关心 slf4j 给出的API。 示例代码: https://github.com/letiantian/demo/tree/m...
2018-07-10 15:29:00 351
原创 记一次处理短信盗刷问题的解决方案
前言一、图形验证码增加识别难度1.1自定义图形验证码1.2使用kaptcha验证码组件二、针对ip进行访问次数限制2.1获取真实的IP地址2.2设置访问限制前言最近公司的注册接口经常在半夜被恶意访问,从而引发短信盗刷事件,原本在手机号等参数校验通过后,注册接口会对图形验证码进行正确性校验,校验通过后再进行短信发送。通过短信发送记录发现我们的图形验...
2018-07-06 16:06:16 3829
原创 如何用命令将本地项目上传到git
如何用命令将本地项目上传到git进入项目文件夹,打开Git Bash 通过命令 git init 把这个目录变成git可以管理的仓库git init把文件添加到版本库中,使用命令 git add .添加到暂存区里面去,不要忘记后面的小数点“.”,意为添加文件夹下的所有文件git add .用命令 git commit告诉Git,把文件提交到仓库。引号内为提交说...
2018-06-12 17:36:33 163
原创 服务治理:Spring-cloud Eureka入门实例详解
简介服务治理服务注册与服务发现构建服务注册中心创建服务注册中心注册服务提供者高可用注册中心服务发现与消费Eureka详解基础框架服务治理机制服务提供者服务注册服务同步服务续约服务消费者获取服务服务调用服务下线服务注册中心失效剔除自我保护简介Spring Cloud Eureka是Spring Cloud Ne...
2018-05-10 10:41:03 625
原创 zookeeper入门实例
zookeeper概述zookeeper数据结构ZooKeeper节点Znode的组成部分znode的主要特征Watches数据访问节点类型顺序节点唯一性的保证zookeeper服务中的操作接下来我们完成一个小例子新建工程导入依赖包测试类运行结果zookeeper概述Zookeeper 是为分布式应用程序提供高性能协调服务的工具集合,也是Google的Chubby一个开源的实
2018-01-08 11:03:52 716
原创 elastic-job入门实例
说明功能列表任务分片多任务类型云原生容错性任务聚合易用性构建工具项目结构如下引入依赖SimpleJob 简单作业DataFlowJob 数据流作业测试以上两种作业运行结果创建elasticxml配置文件配置datasource创建applicationContextxml文件配置webxml运作结果说明Elastic-Job是一个分布式
2018-01-05 15:32:14 9186
原创 常用的日志查找命令
less、more命令:支持日志文件滚屏查找功能less logfilemore logfilegrep命令:匹配查找并可替换内容,相当于过滤器grep 'keyword' logfile //打印日志中包含关键字的行grep -n 'keyword' logfile|more //分页打印包含关键字的日志grep -n 'keyword' logfile|less //
2018-01-05 10:46:52 964
原创 Log4j的详细使用方法
引言入门实例基本使用方法log4j三个重要组件定义配置文件配置跟Logger其语法为配置日志信息输出目的地Appender其语法为配置日志信息的格式布局其语法为在代码中使用Log4j得到记录器读取配置文件插入记录信息格式化日志信息日志级别在Web项目中使用Log4jSpring中使用Log4j引言日志是应用软件中不可缺少的部分,Apache的开源项目log4j是一个功能强大
2017-12-28 10:50:33 839
原创 常见异常
——–java.net.SocketException的常见异常————1:java.net.BindException:Address already in use: JVM_Bind该异常发生在服务器端进行new ServerSocket(port)(port是一个0,65536的整型值)操作时。异常的原因是以为与port一样的一个端口已经被启动,并进行监听。此时用netstat
2017-12-25 17:02:13 153
原创 Spring ActiveMQ整合实例
Spring + ActiveMQ实现生产者消费者模式和发布订阅模式环境准备安装最新版ActiveMQJdk1.8Spring创建工程通过gradle构建项目引入依赖包在build.gradle文件中加入以下依赖 //spring [group: 'org.springframework', name: 'spring-aop',
2017-12-25 14:09:16 247
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人