![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
学习
hjinping
外在压力增加时,就应增强内在的动力。
展开
-
阿里巴巴的26款超神Java开源项目!
1.分布式应用服务开发的一站式解决方案 Spring Cloud AlibabaSpring Cloud Alibaba 致力于提供分布式应用服务开发的一站式解决方案。此项目包含开发分布式应用服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里分布式应用解决方案,通过阿里中间件来迅速搭建分布式应用系统。地址:https原创 2020-08-26 20:10:08 · 288 阅读 · 0 评论 -
CentOs7 提示没有安装包docker的解决办法
1、运行下面的yum 命令-安装 docker:yum install docker -y提示没有安装包docker2、/etc/yum.repo.d 目录下创建配置文件touch test.repo配置文件*.repo3、在配置文件中写入下面内容:[dockerrepo]name=Docker Repositorybaseurl=https:/...原创 2019-12-29 14:43:39 · 1917 阅读 · 1 评论 -
JVM监控常用命令
jpsjps的功能也和 ps 命令类似:可以列出正在运行的虚拟机进程,并显示虚拟机执行主类( Main Class, main() 函数所在的类)名称以及这些进程的本地虚拟机唯一 ID。jps -l参数说明:-q: 只输出LVMID,省略主类的名称 -m: 输出虚拟机进程启动时传递给主类main()函数的参数 -l: 输出主类的全名,如果进程执行的是jar包,输出jar路径...原创 2019-12-11 21:17:40 · 100 阅读 · 0 评论 -
Java并发编程:volatile关键字解析-原子性,可见性,有序性
volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。 volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我们先来...转载 2018-11-30 10:43:24 · 404 阅读 · 0 评论 -
自动构建编译javaweb项目并发布到N台服务器
前言当你使用nginx实现了负载均衡,当你有了超过3台以上的应用服务器时,一个特别头疼的问题就来了,发布项目好麻烦。你每次都要在本地编译打包一遍,然后手动复制到每一台服务器上面去,如果只有一两台服务,那么确实还不算麻烦,但是当你有了一定数量的服务,你就会发现,发布一遍项目,一个小时过去了。然后你即使改动一个小的地方,所有的必须又重新发布一遍,最后在发布项目上面浪费的时间都足够你睡...转载 2019-03-08 17:25:24 · 366 阅读 · 0 评论 -
基于zookeeper分布式锁的原理和实现
一、分布式锁介绍分布式锁主要用于在分布式环境中保护跨进程、跨主机、跨网络的共享资源实现互斥访问,以达到保证数据的一致性。二、架构介绍在介绍使用Zookeeper实现分布式锁之前,首先看当前的系统架构图解释: 左边的整个区域表示一个Zookeeper集群,locker是Zookeeper的一个持久节...转载 2019-03-10 13:50:29 · 135 阅读 · 0 评论 -
个人手记
标题原创 2019-03-15 09:18:49 · 139 阅读 · 0 评论 -
SpringCloud微服务搭建详解
主要讲解SpringCloud搭建微服务的步骤,其中用到了Eurake、Ribbon、Feign、Hystrix、Zuul、Config技术。项目地址:https://github.com/17665387407?tab=repositories一、建立一个总工程首先建立一个microservice-parent总工程,总工程中并不做什么业务逻辑,总工程主要定义一个POM文件,...原创 2019-03-29 15:56:03 · 357 阅读 · 0 评论 -
代理模式
通过代理控制对象的访问,可以详细访问某个对象的方法,在这个方法调用处理,或调用后处理。既(AOP微实现) ,AOP核心技术面向切面编程。代理的分类静态代理(静态定义代理类)动态代理(动态生成代理类)Jdk自带动态代理Cglib 、javaassist(字节码操作库)静态代理静态代理需要自己生成代理类JDK动态代理package com.p...原创 2019-04-03 18:34:10 · 102 阅读 · 0 评论 -
八大排序
直接插入排序在要排序的一组数中,假设前面(n-1)[n>=2] 个数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这 n个数也是排好顺序的。如此反复循环,直到全部排好顺序。希尔排序(最小增量排序)算法先将要排序的一组数按某个增量 d(n/2,n为要排序数的个数)分成若干组,每组中记录的下标相差 d.对每组中全部元素进行直接插入排序,然后再用一个较小的增量...转载 2018-11-29 16:56:29 · 129 阅读 · 0 评论 -
深入hibernate的三种状态
学过hibernate的人都可能都知道hibernate有三种状态,transient(瞬时状态),persistent(持久化状态)以及detached(离线状态),大家伙也许也知道这三者之间的区别,比如瞬时状态就是刚new出来一个对象,还没有被保存到数据库中,持久化状态就是已经被保存到数据库中,离线状态就是数据库中有,但是session中不存在该对象。但是大家又是否对hibernate的ses...转载 2018-11-29 15:32:07 · 95 阅读 · 0 评论 -
Java工程师成神之路
一、基础篇JVMJVM内存结构堆、栈、方法区、直接内存、堆和栈区别Java内存模型内存可见性、重排序、顺序一致性、volatile、锁、final垃圾回收内存分配策略、垃圾收集器(G1)、GC算法、GC参数、对象存活的判定 JVM参数及调优Java对象模型oop-klass、对象头HotSpot即时编译器、编译优化类加载机制classLoader、类加载过程、双亲委派(破坏双亲委派)、模块化(jb...转载 2018-07-11 09:52:29 · 144 阅读 · 0 评论 -
从Nginx、Apache工作原理看为什么Nginx比Apache高效!
Nginx才短短几年,就拿下了Web服务器大壁江山,众所周知,Nginx在处理大并发静态请求方面,效率明显高于Httpd,甚至能轻松解决C10K问题。在高并发连接的情况下,Nginx是Apache服务器不错的替代品。Nginx同时也可以作为7层负载均衡服务器来使用。根据我的测试结果,Nginx + PHP(FastCGI) 可以承受3万以上的并发连接数,相当于同等环境下Apache的10倍。一般来...转载 2018-07-12 09:50:12 · 115 阅读 · 0 评论 -
tomca配置详解
Tomcat隶属于Apache基金会,是开源的轻量级Web应用服务器,使用非常广泛。server.xml是Tomcat中最重要的配置文件,server.xml的每一个元素都对应了Tomcat中的一个组件;通过对xml文件中元素的配置,可以实现对Tomcat中各个组件的控制。因此,学习server.xml文件的配置,对于了解和使用Tomcat至关重要。本文将通过实例,介绍server.xml中各个组...转载 2018-07-12 10:29:53 · 366 阅读 · 0 评论 -
分布式锁简单入门以及三种实现方式介绍
在学习或者使用Java的过程中进程会遇到各种各样的锁的概念:公平锁、非公平锁、自旋锁、可重入锁、偏向锁、轻量级锁、重量级锁、读写锁、互斥锁等。蒙了吗?不要紧!即使你这些都不会也不要紧,因为这个和今天要探讨的关系不大,不过如果你作为一个爱学习的小伙伴,这里也给你准备了一份秘籍:《Java多线程核心技术》,一共19篇祝你一臂之力! Java多线程编程核心技术19篇一、为什么要使用分...转载 2018-07-27 08:48:28 · 88 阅读 · 0 评论 -
分布式架构的几种实现方式
今天小蕉跟大伙一起聊聊分布式系统的架构的套路。在开始说套路之前,大家先思考一个问题,为什么要进行分布式架构?大多数的开发者大多数的系统可能从来没接触过分布式系统,也根本没必要进行分布式系统架构,为什么?因为在访问量或者QPS没有达到单台机器的性能瓶颈的时候,根本没必要进行分布式架构。那如果业务量上来了,一般会怎么解决呢?首先考虑的就是机器升级。机器配置的垂直扩展,首先要找到当前性能的瓶颈点...转载 2018-07-27 08:51:48 · 20258 阅读 · 0 评论 -
大规模分布式应用之海量数据和高并发解决方案总结
一、网站应用背景开发一个网站的应用程序,当用户规模比较小的时候,使用简单的:一台应用服务器+一台数据库服务器+一台文件服务器,这样的话完全可以解决一部分问题,也可以通过堆硬件的方式来提高网站应用的访问性能,当然,也要考虑成本的问题。当问题的规模在经济条件下通过堆硬件的方式解决不了的时候,我们应该通过其他的思路去解决问题,互联网发展至今,已经提供了很多成熟的解决方案,但并不是都具有适用性,你...转载 2018-07-27 08:54:39 · 119 阅读 · 0 评论 -
MySQL开发规范与使用技巧总结
命名规范 1.库名、表名、字段名必须使用小写字母,并采用下划线分割。 a)MySQL有配置参数lower_case_table_names,不可动态更改,Linux系统默认为 0,即库表名以实际情况存储,大小写敏感。如果是1,以小写存储,大小写不敏感。如果是2,以实际情况存储,但以小写比较。 b)如果大小写混合使用,可能存在abc,Abc,ABC等多个表共存,容易导致混乱。 c)字段...转载 2018-08-04 16:56:31 · 145 阅读 · 0 评论 -
java并发编程-Executor框架
Executor框架是指java 5中引入的一系列并发库中与executor相关的一些功能类,其中包括线程池,Executor,Executors,ExecutorService,CompletionService,Future,Callable等。他们的关系为: 并发编程的一种编程方式是把任务拆分为一些列的小任务,即Runnable,然后在提交给一个Executor执行,Execut...转载 2018-09-14 13:49:02 · 84 阅读 · 0 评论 -
全面了解-Nginx
nginx 下载地址:点击下载SwitchHosts 下载地址:点击下载(用于快速切换 hosts 文件的小程序)一、nginx入门1.1什么是nginx?nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行...原创 2018-11-03 11:05:35 · 196 阅读 · 0 评论 -
java学习计划
分布式专题高并发/高性能性能优化专题源码分析专题基础: 集合类,并发包,IO/NIO,JVM,内存模型,泛型,异常,反射,等有深入了解,最好是看过源码了解底层的设计。比如一般面试都会问ConcurrentHashMap,CopyOnWrite,线程池,CAS,AQS,虚拟机优化等知识点,互联网技术相关知识:深入了解mysql,redis,mongodb,nginx,tomcat,rpc,jm...原创 2018-07-11 09:50:40 · 1653 阅读 · 0 评论