java实战开发笔记分享

Apollo 源码解析 —— 调试环境搭建

Apollo 源码解析 —— 调试环境搭建

搭建apollo还算比较简单,官方文档也非常详细。之前遇到问题在apollo的qq群里咨询,群友很热心,小问题很快就能帮忙解决或者找到解决问题的思路。准备基于《芋道源码》和杨波老师的脚步,对apollo进行更深入一点的了解。1. 本地运行时环境JDK :1.8+MySQL :5.6.5+MavenIntelliJ IDEA从官方仓库 <……

Cat Java客户端集成

Cat Java客户端集成

Cat Client for JavaCat Java 客户端支持 JDK 1.6 及以上版本安装通过 Maven 添加依赖<dependency> <groupId>com.dianping.cat</groupId> <artifactId>cat-client</artif……

Dubbo 源码分析 —— 调试环境搭建二

Dubbo 源码分析 —— 调试环境搭建二

Dubbo 源码分析 —— 调试环境搭建二在《 Dubbo 源码分析 —— 调试环境搭建一》主要是Dubbo 的官方介绍,Dubbo 提供了 dubbo-demo 项目,用于开发者快速入门。 先说下注册中心,官方推荐使用 Zookeeper 注册中心1.RegistryDubbo 提供了多种 Registry 的实现,参见 《注册中心参考手册》 。在……

Dubbo 源码分析 —— 调试环境搭建一

Dubbo 源码分析 —— 调试环境搭建一

开始对Dubbo源码有点兴趣,加入了《芋道源码》跟大家一起学。现在的版本是 2.7.01. 依赖工具MavenGitJDKIntelliJ IDEA2. 源码拉取从官方仓库 https://github.com/apache/incubator-dubbo Fork 出属于自己的仓库https://github.com/s……

unkown the request解決

unkown the request解決

今天开业,按时达到公司,打开idea准备解决bug。前面一段时间一直正常,后重启服务发现一直出现 unkown the request 然后就各种clear install都没有用,之后感觉应该是端口占用,kill掉了所有java程序,并用 netstat -ano 查看了下占用项目端口的程序,发现qq占用了项目的端口。关掉qq,重启,项目运行成功。……

在macOS环境下安装Redis

在macOS环境下安装Redis

Redis官网:https://redis.io/downloadDownload, extract and compile Redis with:$ wget http://download.redis.io/releases/redis-5.0.0.tar.gz$ tar xzf redis-5.0.0.tar.gz$ cd redis-5.0.……

idea怎么设置选中文件时,自动在左侧弹出文件所在位置及文件

idea怎么设置选中文件时,自动在左侧弹出文件所在位置及文件

文件资源定位图标,小齿轮的显示和隐藏(Autoscroll from Source)不知道怎么弄的就把定位的小图标给设置不见了,各种设置都没找回来,这个是webstorm的后面发现是设置了Autoscroll from source,选择某个文件的时候会自动定位到这个文件上,So定位小图标的功能已经不需要了,取消掉Autoscroll……

加解密的异常处理办法

加解密的异常处理办法

如果在加解密的过程中出现java.security.InvalidKeyException: Illegal key size,则需要下载一个东西:JRE/JDK 6:http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.htmlJRE/JDK 7:h……

java: 非法字符: ‘\ufeff’ 通过Python脚本批量去除utf8的bom头信息

java: 非法字符: ‘\ufeff’ 通过Python脚本批量去除utf8的bom头信息

项目原来是eclipse工程,转到Idea下后,启动报错Error:(1, 1) java: 非法字符: '\ufeff'Error:(1, 10) java: 需要class, interface或enum开始手动先将文件转成GBK,再转回来UTF-8一个两个还好,几十个文件,还真是手动笨笨的转完了。可以用Python批量转换,避免重复劳动。点……

SOFABoot SOFA企业应用框架

SOFABoot SOFA企业应用框架

后端微信群里接触到SOFABOOT,感觉很棒。https://github.com/alipay/sofa-boot SOFABoot 是蚂蚁金服开源的基于 Spring Boot 的研发框架,它在 Spring Boot 的基础上,提供了诸如 Readiness Check,类隔离,日志空间隔离等等能力。在增强了 Spring Boot 的……

CentOS下安装Redis并设置密码外网访问

CentOS下安装Redis并设置密码外网访问

在windows下,下载redis直接运行redis-server.exe即可,方便快捷。Centos下安装redis稍微复杂一点。redis的官网 https://redis.io/先获取到redishttp://download.redis.io/releases/redis-4.0.9.tar.gz然后解压编译安装tar xzf redi……

androidstudio3.1.2使用butterknife报错解决

androidstudio3.1.2使用butterknife报错解决

Annotation processors must be explicitly declared now.  The following dependencies on the compile classpath are found to contain annotation processor.  Please add them to the annot……

maven mvn跳过生成javadoc 打包报错

maven mvn跳过生成javadoc 打包报错

遇到javadoc用maven打包报错的问题,起初没发现javadoc,后发现并在pom看到了javadoc的配置。[ERROR] Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:2.10.3:jar (attach-javadocs) on project qclo……

i ++ vs i —

i ++ vs i —

String 源码的第 985 行,equals 方法中 while (n--!= 0) { if (v1[i] != v2[i]) return false; i++; }这段代码是用于判断字符串是否相等,但有个奇怪地方是用了 i-- != 0 来做判断,我们通常不是用 i++ 么?为什么用 i-- 呢?而且循环次数相同。原因在于编译后会多……

基于Nginx+lua的蓝绿发布系统

基于Nginx+lua的蓝绿发布系统

  一、什么是蓝绿发布蓝绿部署是不停老版本,部署新版本然后进行测试,确认OK,将流量切到新版本,然后老版本同时也升级到新版本。1、特点蓝绿部署无需停机,并且风险较小。2、蓝绿发布的注意事项当你切换到蓝色环境时,需要妥当处理未完成的业务和新的业务。如果你的数据库后端无法处理,会是一个比较麻烦的问题;可能会出现需要同时处理“微服务架构应用”和“传统……

Java 大纲 思维导图

Java 大纲 思维导图

清理电脑找到的Java大纲 思维导图文件,感觉还不错,分享一下,已经不记得在什么地方学习下载下来的,另外两年前有一篇Java入门的思维导图,可以辅助学习下。便于梳理Java知识,巩固基础。后续思维导图源文件会分享到GitHub上,分享给感兴趣的你。Java大纲关键点如下:高并发/高性能多线程线程安全NIONETTYnetty线程模型和前端……

java中的字符,字符串,数字之间的转换

java中的字符,字符串,数字之间的转换

string 和int之间的转换 string转换成int  :Integer.valueOf(“12”) int转换成string : String.valueOf(12) char和int之间的转换 首先将char转换成string String st……

idea 插件的使用 进阶篇(非常推荐)

idea 插件的使用 进阶篇(非常推荐)

idea 插件的使用 进阶篇(个人收集使用中的) 恭喜你,如果你已经看到这篇文章,证明在idear使用上已经初有小成!那么就要向着大神进发了! 下边就是大神之路! 插件的设置 在 IntelliJ IDEA 的安装讲解中我们其实已经知道,IntelliJ IDEA 本身很多功能也都是通过插件的方式来实现的,只是 IntelliJ IDEA 本身就是它自己的……

java中的Boxing和unboxing

java中的Boxing和unboxing

最近替一个朋友出的几道java的面试题,主要是面试java高级工程师,报酬就是晚饭,已经沦落到卖艺的境地。 题目很简单   Integer i1 = 100;   Integer i2 = 100;   Integer i3 = 1000; &n……