
Java
文章平均质量分 60
Hanson,
我曾七次鄙视自己的灵魂:
第一次,当它本可进取时,却故作谦卑;
第二次,当它空虚时,用爱欲来填充;
第三次,在困难和容易之间,它选择了容易;
第四次,它犯了错,却借由别人也会犯错来宽慰自己;
第五次,它自由软弱,却把它认为是生命的坚韧;
第六次,当它鄙夷一张丑恶的嘴脸时,却不知那正是自己面具中的一副;
第七次,它侧身于生活的污泥中虽不甘心,却又畏首畏尾。
展开
-
从初级开发者到资深架构师,看这
(Toc generated by simple-php-github-toc )《java队列——queue详细分析》《LinkedList、ConcurrentLinkedQueue、LinkedBlockingQueue对比分析》每个节点最多有两个叶子节点。左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。二叉查找树(Binary Search Tree),也称有序二叉树(ordered binary tree),排序二叉树(sorted binary tree)。MySQL是原创 2022-07-11 14:01:00 · 1887 阅读 · 1 评论 -
Spring Cloud Alibaba 新一代微服务解决方案
1、Spring Cloud Alibaba 是什么Spring Cloud Alibaba 是阿里巴巴提供的微服务开发一站式解决方案,是阿里巴巴开源中间件与 Spring Cloud 体系的融合。马老师左手双十一,右手阿里开源组件,不仅占据了程序员的购物车,还要攻占大家的开发工具。先说说 Spring Cloud提起微服务,不得不提 Spring Cloud 全家桶系列,SpringCloud 是若干个框架的集合,包括 spring-cloud-config、spring-cloud-bu转载 2021-12-13 10:01:23 · 357 阅读 · 0 评论 -
nginx负载均衡之ip_hash 和 一致性Hash
资料很多,这里只总结下ip_hash算法,在增加和服务器宕机时会导致会话和缓存丢失一致性hash算法则最大程度的减小影响原创 2021-03-23 15:18:30 · 2157 阅读 · 1 评论 -
增强nginx启用gzip压缩
设置 nginx GZIP编辑nginx配置文件 nginx.conf 找到如下代码并更改如下: # 开启gzip 压缩功能,目的:提高效率,节约带宽 gzip on; # 限制最小压缩,小于一字节文件不会压缩 gzip_min_length 1; # 定义压缩级别(压缩比,文件越大,压缩越多,但是cpu使用会越多) gzip_comp_level 3; # 定义压缩文件类型 gzip_types text/plain text...原创 2021-03-19 11:55:04 · 234 阅读 · 0 评论 -
SOA与微服务架构的区别
一,可以肯定的是SOA和微服务的确是一脉相承的,大神Martin Fowler提出来这一概念可以说把SOA的理念继续升华,精进了一步。其核心思想是在应用开发领域,使用一系列微小服务来实现单个应用的方式途径,或者说微服务的目的是有效的拆分应用,实现敏捷开发和部署,可以是使用不同的编程语言编写。而SOA可能包含的意义更泛一些,更不准确一些。二,从实现方式上,两者都是中立性,语言无关,协议跨平台,相比SOA,微服务框架将能够带来更大的敏捷性,并为你构建应用提供更轻量级、更高效率的开发。而SOA更适合大型...原创 2021-03-17 13:29:04 · 240 阅读 · 1 评论 -
Java的class文件打包成dll文件 并在.net中使用
1.测试文件能正常在Java中运行, 运行后 out文件夹将会生成class文件2.(手动编译)编译Java文件 javac -encoding utf-8 NewThreeDes.java3.把所有class 在com文件夹下运行打成jar包 注意后面最后的 "." jar cvf newThreeDes.jar -C com/ . 4.把jar包用IKVM 打包成dll(到IKVM官方网站下载IK...原创 2020-09-01 11:35:41 · 904 阅读 · 0 评论 -
HttpClientUtil
public class HttpClientUtil { private static Logger logger = LoggerFactory.getLogger(HttpClientUtil.class); public static String doGet(String url, Map<String, String> param) { // 创建http对象 CloseableHttpClient httpclient = HttpCl.原创 2020-06-23 19:18:48 · 227 阅读 · 0 评论 -
系统 java.lang.OutOfMemoryError: unable to create new native thread 异常的处理
方式一:是否因用户可使用线程数限制1.查看服务器现在已使用线程数ps -eLf | wc -l2.对比用户最大可以使用线程数 ulimit -a 查看 max user processes 项,如果满足不了那就应该提权来解决方式二: 服务器上的进程数超最大限制1.查看最大进程数 sysctl kernel.pid_max2.查看服务器现在...原创 2019-10-21 11:08:07 · 540 阅读 · 0 评论 -
四种Java线程池用法解析
1、new Thread的弊端执行一个异步任务你还只是如下new Thread吗? 1 2 3 4 5 6 7 8 new Thread(new Runnable() { @Override public void run() { // TODO Auto...转载 2018-08-09 18:05:04 · 151 阅读 · 0 评论 -
Jstatd方式远程监控Linux下 JVM运行情况
最近一个项目部署在服务器上运行时出现了问题,经过排查发现是java内存溢出的问题,所以为了实时监控服务器java内存的情况,需要远程查看服务器上JVM内存的一些情况。另外服务器系统是CentOS 7 最小安装,没有图形化界面,不能采用vnc远程。所以只能通过VisualVM或者JConsole来远程JVM。介绍两个jdk1.8自带的可视化监视工具Jconsole:Java 6.x采用J...转载 2018-07-26 09:13:20 · 3247 阅读 · 1 评论 -
SpringBoot属性文件配置(application.properties/yml)
# ===================================================================# COMMON SPRING BOOT PROPERTIES## This sample file is provided as a guideline. Do NOT copy it in its# entirety to your own app...原创 2018-07-18 17:57:17 · 888 阅读 · 0 评论 -
整合Spring Security实现访问API页面输入用户名密码
整合Spring Security实现访问API页面输入用户名密码maven依赖:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactI...原创 2018-07-18 16:31:57 · 2512 阅读 · 0 评论 -
Spring-boot 配置tomcat
spring-boot打成jar包后,tomcat内置需要优化就要用下面的方式(Nio2): @Configurationpublic class TomcatConfig { @Bean public EmbeddedServletContainerFactory servletContainer1() { TomcatEmbeddedServletCon...原创 2018-07-18 11:33:54 · 4646 阅读 · 0 评论 -
Quartz通过配置来优化并发能力
先上官网地址:http://www.quartz-scheduler.org/documentation/quartz-2.1.x/configuration/Quartz 在线上出现并发瓶颈问题,造成延时触发或者不触发,可以通过他的配置文件 quartz.properties 文件来优化Quartz-Job的quartz.properties配置文件说明,此文件在quartz的jar包有...原创 2018-07-17 11:57:35 · 6072 阅读 · 0 评论 -
GitFlow工作流常用操作流程
1. 主要分支介绍1.1 master分支1.2 develop分支1.3 release分支1.4 bugfix分支1.5 feature分支2. 新功能开发工作流2.1 切换到本地仓库工作区2.2 从远程仓库克隆代码到本地仓库2.3 基于master分支,创建develop分支2.4 在本地仓库的开发流程2.5 推送代码到远程仓库2.6 将代码发布到测试分支2.7 测试工程师提交Bug后修复2...转载 2018-07-03 11:07:04 · 274 阅读 · 0 评论 -
tomcat9 性能调优
官网最靠谱tomcat 参数官网:http://tomcat.apache.org/tomcat-7.0-doc/config/http.html<Connectorport="8080" protocol="org.apache.coyote.http11.Http11NioProtocol" enableLookups="false" max...原创 2018-07-02 17:55:59 · 17517 阅读 · 4 评论 -
Linux配置多个Tomcat
1tomcat服务器需配置三个端口才能启动,安装时默认启用了这三个端口,当要运行多个tomcat服务时需要修改这三个端口,不能相同。2端口一:修改http访问端口(默认为8080端口),配置文件为tomcat\ conf\service.xml<Connector port="8080" protocol="HTTP/1.1" connectionTimeout...原创 2018-07-02 14:12:39 · 275 阅读 · 0 评论 -
Redis实现Mybatis的二级缓存
一、Mybatis的缓存通大多数ORM层框架一样,Mybatis自然也提供了对一级缓存和二级缓存的支持。一下是一级缓存和二级缓存的作用于和定义。 1、一级缓存是SqlSession级别的缓存。在操作数据库时需要构造 sqlSession对象,在对象中有一个(内存区域)数据结构(HashMap)用于存储缓存数据。不同的sqlSession之间的缓存数据区域(HashMap)是互相不...转载 2018-09-05 10:21:50 · 1559 阅读 · 0 评论 -
SpringBoot整合Redis
Maven依赖<!-- 整合redis --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</arti...转载 2018-09-05 10:42:37 · 258 阅读 · 0 评论 -
支付宝(查询对账单下载地址+文件下载+解压+遍历文件+读文件)
1 、调用支付宝接口, 获取zip 下载地址package com.ycmedia.task;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONObject;import com.alipay.api.AlipayClient;import com.alipay.api.DefaultAlipayCli...转载 2019-08-06 13:33:53 · 6870 阅读 · 7 评论 -
mybatis对应Mysql 的 datetime字段类型为 TIMESTAMP
java中有定义为 Date 类型的字段payDate 并添加注解@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh", timezone = "GMT+8")对应了数据库中 datetime 类型的 字段 pay_date那么在mybatis的的resultMap的写法如下<result column=...原创 2019-07-31 16:39:05 · 16382 阅读 · 0 评论 -
jar包上传到本地maven 或者上传到nexus服务器
https://blog.youkuaiyun.com/xiaodaiwang/article/details/78093591原创 2019-06-28 13:41:37 · 823 阅读 · 0 评论 -
Spring Boot 使用WebClient
使用WebClientWebClient是Spring WebFlux模块提供的一个非阻塞的基于响应式编程的进行Http请求的客户端工具,从Spring5.0开始提供。Spring Boot应用中添加如下依赖将自动添加Spring WebFlux依赖,从而可以使用WebClient。<dependency> <groupId>org.springframe...原创 2019-04-18 10:42:02 · 6813 阅读 · 0 评论 -
JAVA Set 交集,差集,并集, redis中实现 交集,差集,并集
先学习学习Set 的方法:是不是一眼就明白了:public class TestSet { public static void main(String[] args) { Set<String> result = new HashSet<String>(); Set<String> set1 = new...原创 2019-04-22 11:01:08 · 2395 阅读 · 0 评论 -
Maven idea下多模块项目+SpringBoot2.0 install 失败: 程序包xxx不存在
这个问题整了好久,终于是整明白了:别人的博客已经讲的很清楚了,我就不啰嗦了:修改方法: <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifact...原创 2019-04-17 14:58:57 · 1609 阅读 · 0 评论 -
spring-boot 2.0 线程池 @Async 的使用、自定义Executor的配置方法
@async 无效的原因总结如下在@SpringBootApplication启动类 添加注解@EnableAsync 异步方法使用注解@Async ,返回值为void或者Future 切记一点 ,异步方法和调用方法一定要**** 写在不同的类中 ****,如果写在一个类中, 是没有效果的实现异步新线程调用,Springboot简单配置:1、在主类中添加@EnableAsyn...转载 2019-04-13 15:42:08 · 3471 阅读 · 0 评论 -
TCP/IP网络协议的通俗理解,Socket,Soap 、HTTP、MQTT、Websocket
话说两台电脑要通讯就必须遵守共同的规则,就好比两个人要沟通就必须使用共同的语言一样。一个只懂英语的人,和一个只懂中文的人由于没有共同的语言(规则)就没办法沟通。两台电脑之间进行通讯所共同遵守的规则,就是网络协议。那么谁来制定这个网络协议?国际标准化组织(ISO)定义了网络协议的基本框架,被称为OSI模型。要制定通讯规则,内容会很多,比如要考虑A电脑如何找到B电脑,A电脑在发送信息给B电脑时...转载 2019-01-13 23:05:10 · 1099 阅读 · 0 评论 -
前后端分离springmvc和RESTful理解
1. 理解MVCMVC是一种经典的设计模式,全名为Model-View-Controller,即模型-视图-控制器。其中,模型是用于封装数据的载体,例如,在Java中一般通过一个简单的POJO(Plain Ordinary Java Object)来表示,其本质是一个普通的Java Bean,包含一系列的成员变量及其getter/setter方法。对于视图而言,它更加偏重于展现,也就是说,...转载 2018-09-13 11:54:42 · 414 阅读 · 0 评论 -
集群, 分布式,微服务概念和区别理解
概念:集群是个物理形态,分布式是个工作方式。分布式:一个业务分拆多个子业务,部署在不同的服务器上 集群:同一个业务,部署在多个服务器上1:分布式是指将不同的业务分布在不同的地方。而集群指的是将几台服务器集中在一起,实现同一业务。分布式中的每一个节点,都可以做集群。而集群并不一定就是分布式的。举例:就比如新浪网,访问的人多了,他可以做一个群集,前面放一个响应服务器,后面几台服务器...转载 2018-09-07 17:52:19 · 284 阅读 · 0 评论 -
spring-boot tomcat logback日志
一、logback的介绍 Logback是由log4j创始人设计的又一个开源日志组件。logback当前分成三个模块:logback-core,logback- classic和logback-access。logback-core是其它两个模块的基础模块。logback-classic是log4j的一个 改良版本。此外logback-classic完整实现SLF4J API使你可以很...转载 2018-06-27 10:56:52 · 3608 阅读 · 0 评论 -
tomcat bio nio apr 模式性能测试
那在做tomcat bio nio apr 模式之前,先来了解下 java 的一些特性吧。Java BIO、NIO、AIO同步 : 自己亲自出马持银行卡到银行取钱(使用同步IO时,Java自己处理IO读写)。异步 : 委托一小弟拿银行卡到银行取钱,然后给你(使用异步IO时,Java将IO读写委托给OS处理,需要将数据缓冲区地址和大小传给OS(银行卡和密码),OS需要支持异步IO操作AP...转载 2018-07-02 10:16:56 · 326 阅读 · 0 评论 -
adb devices报错总结
关于adb devices无法找到设备有以下几种解决方案:1.先adb kill-server,再adb start-server 2.出现如下问题(1) netstat -aon|findstr "5037" 先查找5037端口被什么进程占用(2) tasklist|findstr "1028" 1028指占用的进程PID(3)taskkil原创 2017-08-29 18:35:15 · 1518 阅读 · 0 评论 -
Spring Cloud介绍 Spring Cloud与Dubbo对比
spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用开发中的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等操作提供了一种简单的开发方式。Spring Cloud与Dubbo对比提到Dubbo,我想顺便提下ESB,目前央视新华社也在用ESB来做任务编排,这里先比较下Dubbo和ESB:转载 2017-09-13 17:35:29 · 1555 阅读 · 0 评论 -
Eclipse导入git上的maven web项目
1 Eclipse中导入Git的maven项目 方法1:(1)首先当然是拉代码。在Eclipse里面有个Git Repositories Exploring。就是Git仓库,clone a git repository。复制一个git仓库,输入地址,然后按next,按照说明一直next下去。拉代码过程时选择preproduction分支把转载 2017-08-08 17:08:34 · 343 阅读 · 0 评论 -
RabbitMQ与KafKa区别
在应用场景方面,RabbitMQ,遵循AMQP协议,由内在高并发的erlanng语言开发,用在实时的对可靠性要求比较高的消息传递上。kafka是Linkedin于2010年12月份开源的消息发布订阅系统,它主要用于处理活跃的流式数据,大数据量的数据处理上。1)在架构模型方面,RabbitMQ遵循AMQP协议,RabbitMQ的broker由Exchange,Bind转载 2017-08-17 14:43:02 · 1108 阅读 · 0 评论 -
关于 aws 免费使用12月注意事项
1.30G 流量 15G下载 15G上传2. 750小时3. 清除AWS实例后要清除卷 具体参看: http://blog.youkuaiyun.com/topbean/article/details/46455555详细信息参看:http://www.360doc.com/content/14/0115/11/2340477_345416934.shtml原创 2017-07-11 09:14:00 · 35741 阅读 · 11 评论 -
基于Maven的Springboot+Mybatis+Druid+Swagger2+mybatis-generator框架环境搭建
首页AndroidJava服务器标签云作品关于赞助列表 <a href="https://github.com/RayeWang" class="fa fa-github page-nav-icon-bg" <="" a="" style="padding: 10px 11.29px 10px 11px; margin: 0px 8px 0px 0px; text-decoration转载 2017-05-26 09:26:05 · 869 阅读 · 0 评论 -
java实现获取输入字符串内最长数字子串
直接用正则最酸爽,废话不多直接上代码public class test { public static void main(String[] args) { Scanner input = new Scanner(System.in); Pattern p=Pattern.compile("\\D+"); String[] str=p.spl原创 2017-06-29 14:42:26 · 1011 阅读 · 0 评论 -
当时学习的时候碰到的Java 关于 i=i++ 问题 解答
int i=0; i=i++; 结果i是多少? 这是一个经常被提及的问题,答案一直五花八门。 具体测试一下以说明问题: 代码1:public class Test{ public static void main(String[] args){ int i=0;转载 2017-05-18 11:43:40 · 306 阅读 · 0 评论 -
比较全的正则表达式
1 [正则表达式]文本框输入内容控制 2 整数或者小数:^[0-9]+\.{0,1}[0-9]{0,2}$ 3 只能输入数字:"^[0-9]*$"。 4 只能输入n位的数字:"^\d{n}$"。 5 只能输入至少n位的数字:"^\d{n,}$"。 6 只能输入m~n位的数字:。"^\d{m,n}$" 7 只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$"。转载 2017-05-18 11:19:56 · 596 阅读 · 0 评论