自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 收藏
  • 关注

原创 Elastic Stack之Beats(Filebeat、Metricbeat)、Kibana、Logstash教程

如果你没有听说过Elastic Stack,那你一定听说过ELK,实际上ELK是三款软件的简称,分别是Elasticsearch、Logstash、Kibana组成,在发展的过程中,又有新成员Beats的加入,所以就形成了Elastic Stack。所以说,ELK是旧的称呼,Elastic Stack是新的名字。全系的Elastic Stack技术栈包括:由上图可以看出Beats并不是指单一的某个技术,它是指一系列技术在总称,采集能力更加轻量级更加强大,并且已经逐渐取代Log...

2020-11-23 17:12:52 12

原创 idea查看字节码配置

File-Settings-Tool-External Toolsshow byte code$JDKPath$\bin\javap.exe-c $FileClass$$OutputPath$/********************** kafka **********************/Kafka cluster集群点对点模式,需要线程监控发布/订...

2020-11-06 11:39:19 21

原创 Elastic Stack之Elasticsearch教程

1.Elastic Stack简介2.Elasticsearch2.1 简介2.2 安装2.2.1 版本说明2.2.2 下载2.2.3 单机版安装2.2.4 elasticsearch-head2.3 基本概念2.4 RESTful API2.4.1 创建非结构化数据2.4.2 插入数据2.4.3 更新数据2.4.4 删除数据2.4.5 搜索数据2.4.6 DSL搜索2.4.7 高亮显示2.4.8 聚合3. 核心详解3.1 文档3.2 查询响应3.2.1 pret.

2020-11-06 11:36:30 119 1

原创 分布式锁的这三种实现方式,如何在效率和正确性之间选择?

已发表在公众号:https://mp.weixin.qq.com/s/Dt-BTCwX748ayRevGbAMoQ

2020-07-06 21:43:42 136

原创 算法

字符串相关/** * 1. 找出字符串中出现次数最多的字符 */@Testpublic void test(){ String str = "sfasjlfaskfjlsajflakjaafadslfjsdlk"; char res = str.charAt(0); int max = 0; Map<Character,Integer> m...

2020-01-27 17:57:51 522

原创 Spring Aop源码调试

SpringAOP 面向切面编程(Aspect Oriented Programming)aop效果:项目demo:代码:import org.aspectj.lang.annotation.*;import org.springframework.stereotype.Component;@Aspect@Componentpublic class AppCon...

2019-05-28 11:11:59 1198

原创 MySQL事务

本文目录:1.事务介绍2.事务入门    1.命令行演示    2.代码演示3.事务特性4.事务隔离级别    1.安全隐患        a.读的问题        b.写的问题    2.隔离级别        a.读未提交        b.读已提交        c.可重复读        d.序列化 | 串行化5.事务管理    1.三层结构介绍   ...

2018-12-24 17:18:16 268

原创 Gradle教程 && Spring源码编译

目录:gradle 安装配置 grovvy 语法介绍 gradle 仓库配置 gradle 配置文件讲解 gradle 案例:springboot + gradle打war包 gradle 多项目案例,聚合工程1. gradle 安装配置Gradle下载:http://services.gradle.org/distributions/配置环境变量命令:gradle -...

2018-12-17 11:11:23 504

原创 java单点登录需求分析与代码实现

需求背景:随着公司的发展,公司内部使用的系统越来越多。但是对于使用系统的员工来说不是个好事情。     1.每个系统都需要记住对应的账号和密码,很多员工都是每个系统的账户和密码都一样的。     2.如果同时要使用CRM系统、WMS系统、OA系统,用户需要登录三次,如果10个系统需要登录分别登录十次,非常繁琐。     3.如果不使用了,还需要分别在三个系统中依次的注销。需求:    ...

2018-11-16 17:56:49 11391 50

原创 java自动登录

温故而知新。从其他页面访问时,如直接访问index页面,勾选过自动登录,从session/cookie获取用户信息,没有勾选,从session中获取用户信息,需要使用filter过滤器工程结构,采用gradle构建:public class User { private String username; private String password; ...

2018-11-08 10:30:19 1697

原创 使用session做的购物车

温故而知新。工程结构:public class Product { private int id; private String name; private double price; public Product(int id, String name, double price) { this.id = id; th...

2018-11-07 11:46:19 4224

原创 CKEditor 4.10.1 上传图片提示“不正确的服务器响应” 问题解决

最近项目采用CKEditor 4 富文本编辑器,上传图片时提示"不正确的服务器响应" , 查看官方文档要求返回json格式,官方示例:Response: File Uploaded Successfully 上传成功返回:{    "uploaded": 1,    "fileName": "foo.jpg",    "url": "/files/foo.jpg"}

2018-08-16 20:05:23 7671 12

原创 互联网API接口幂等设计

幂等性概念:保证唯一的意思  如何防止接口不能重复提交===保证接口幂等性接口幂等产生原因:1.rpc调用时网络延迟(重试发送请求) 2.表单重复提交解决思路:redis+token,使用Tonken令牌,保证临时且唯一,将token放入redis中,并设置过期时间如何使用Token 解决幂等性,步骤:1.在调接口之前生成对应的令牌(Token),存放在Redis2.调用接口的时候...

2018-07-29 19:10:28 3665 5

原创 Linux常用命令整理

查看主机名:hostname创建文件夹 mkdir -p /test01/test02创建文件 touch file.txt拷贝目录 cp -r text/ text02移动目录 mv text/ text02删除 rm -rf file.txt 删除文件夹当前所有内容: rm -rf ./*查看文件 cat /etc/passwd查看文件(分页) more 按q退出查看...

2018-07-20 22:35:37 363

原创 zk配置中心---Config Toolkit配置与使用

Config Toolkit 简介:用于分布式系统中的资源配置中心,替代传统properties文件,优点:立即修改配置立即生效,不需要新重新打包部署项目。下载地址:https://github.com/dangdangdotcom/config-toolkit配置zk,生产环境一般配置5台,创建配置节点时会同步,这里使用默认配置,启动zkServer。启动项目(将config-f...

2018-06-11 16:15:44 2669

原创 手写SpringIOC容器框架

1.使用xml方式注入对象导入依赖:&lt;!-- https://mvnrepository.com/artifact/dom4j/dom4j --&gt;&lt;dependency&gt; &lt;groupId&gt;dom4j&lt;/groupId&gt; &lt;artifactId&gt;dom4j&lt;/artifactId&gt; &lt;versi...

2018-06-03 15:03:57 348

原创 web安全与防御

一、钓鱼网站之XSS攻击原理分析将表单提交的脚本:&lt;script&gt;for(var i=0;i&lt;3;i++){alert("弹死你"+i);}&lt;/script&gt; 中的特殊字符进行转义,禁止脚本执行。pom.xml引入common-lang包&lt;dependency&gt; &lt;groupId&gt;commons-lang&lt;/groupId&gt;..

2018-04-09 00:18:16 205

原创 分布式任务调度平台

一、任务调度概述 1.什么是任务调度--定时job 在什么时间进行执行代码任务任务调度场景:定时检查红包过期2.java实现定时任务有几种?        Thread.sleep TimerTask  util包下 线程池,可定时线程 Quartz定时任务调度框架 springboot 内置定时任务调度/** * 使用多线程方式实现定时job 最简单版定时任务调度 * Created by...

2018-04-07 12:23:36 1845

原创 Redis高可用

redis.conf  dbfilename dump.rdb开启aof备份,先注掉dump.rdb相关:redis.confaop文件比rdb文件大,且恢复速度慢。redis发布/订阅:subscribe redisChat 订阅redisChat频道开启另一个客户端publish redisChat '123456' 往redisChat频道推送消息...

2018-04-05 23:12:05 119

原创 Java并发编程

一、Vector与ArrayList区别和HasTable与HasMap线程安全源码分析什么是线程安全问题?保证在多个线程之间共享同一个全局变量或者静态变量,保证数据一致性、原子性。线程同步有哪些方式?synchronized、lock线程同步提高了效率吗?降低了程序效率、阻塞、抢锁的资源,效率并不高java并发包 java.util.concurrent原子类、LockVector与ArrayL...

2018-04-03 15:30:56 139

原创 Zookeeper基础+Zookeeper实战分布式锁

Zookeeper基础一、Zookeeper概述什么是ZooKeeperZooKeeper是一个分布式开源框架,提供了协调分布式应用的基本服务,它向外部应用暴露一组通用服务——分布式同步(Distributed Synchronization)、命名服务(Naming Service)、集群维护(Group Maintenance)等,简化分布式应用协调及其管理的难度,提供高性能的分布式服务。Zo...

2018-04-01 13:25:52 227

原创 使用Zookeeper实现动态负载均衡

一、负载均衡概述 二、Dubbo原理 生产者:&lt;!-- 提供方应用信息,用于计算依赖关系 --&gt;&lt;dubbo:application name="provider"/&gt;&lt;!-- 使用zookeeper注册中心暴露服务地址 --&gt;&lt;dubbo:registry address="${zookeeper.register.address}" protocol=...

2018-03-30 23:23:06 2869 1

原创 MySQL高可用--主从复制与读写分离

一、Mysql高可用概念 二、MySQL主从复制原理 集群目的,减轻单台服务器压力三、MySQL主从复制配置实际操作mysql服务器集群,主从复制的过程master   192.168.230.128slave01  192.168.230.132slave02  192.168.230.133mysql主从复制步骤:1.配置主从节点信息(server_id=) 2.设置从服务器读取账号权限3.同...

2018-03-27 22:19:18 1046

原创 JVM垃圾回收机制算法分析

JVM内存运行时数据区一、什么是垃圾回收机制gc垃圾回收机制&amp;&amp;算法什么是垃圾回收机制:不定时去堆内存清理不可达对象。不可达的对象并不会马上就会直接回收,而是至少要经过两次标记的过程。public class Test { public static void main(String[] args) { Test test = new Test(); ...

2018-03-24 23:06:25 145

原创 idea本地代码托管到git

公司内部搭建git服务器:http://tengj.top/2016/03/29/git6gitlab/个人代码托管到git流程:1.首先在github注册账号 https://github.com/2.登陆git创建项目3.下载安装git客户端  https://git-scm.com/download/win4.初始化git仓库,本地项目文件夹右键–&gt;Git Bash Here 输入gi...

2018-03-22 22:47:53 274

原创 SpringCloud

一、网站架构演变过程微服务架构--SpringCloud单点应用、分布式系统面向服务架构(SOA)、微服务架构传统web项目:三层架构 控制层-业务逻辑层-数据库访问层  代码全部在一个项目中,使用包名进行区分com.controller -- 控制com.service -- 业务逻辑层com.dao -- 数据库访问层面向服务架构项目:如果在互联网公司,如果使用传统架构技术开发,会产生什么问题...

2018-03-21 10:07:18 257

原创 SpringBoot

一、SpringBoot概述SpringBoot未来主流1.敏捷开发(整合任何框架),弊端:封装的太死了,不方便扩展,springboot高版本没有这个问题。2.无需Tomcat(springboot运行是通过java应用程序运行,实际是jar包),内置Tomcat3.减少xml配置(没有xml),以配置文件形式,全部只写properties文件4.SpringCloud+Spring...

2018-03-19 18:33:53 277

原创 SpringAOP与事物原理分析

一、SpringAOP概述 什么事springaop? 面向切面编程应用场景:权限控制、事务管理、日志打印、性能统计项目中什么地方使用AOP 代码重复在不同的方法中,但是需要相同的操作。AOP关注点:重复代码切面:抽取重复代码切入点:拦截哪些方法springaop方式:注释、xml二、SpringAop注解方式spring.xml中开启事务权限:&lt;aop:aspectj-autoproxy ...

2018-03-18 21:16:40 2393

原创 MySQL语句性能优化

MySQL概述1.数据库设计 3范式2.数据库分表分库---会员系统() 水平分割(分页如何查询)MyChar 、垂直3.怎么定位慢查询---------------------数据库索引的优化、索引原理SQL语句调优数据库读写分离--MyChar---------------------分组 having存储过程、触发器、函数存储过程:写了一块sql语句,类似Java中方法,只需调用传参数,...

2018-03-18 16:34:27 2036

原创 跨域网站请求解决方案

什么是跨域:跨域其实是浏览器安全机制,请求访问的域名与ajax请求地址不一致,浏览器会无法返回请求结果。通俗点就是:B服务的页面中通过ajax加载了A服务中的信息 。 跨域原因产生:在当前域名请求网站中,默认不允许通过ajax请求发送其他域名。http://b.com/b.jspb.jsp&lt;script type="text/javascript"&gt; $(function() { $....

2018-03-16 22:21:37 169

原创 java设计模式

全部设计模式、设计原则示例和说明,项目目录结构:java设计模式项目代码地址:https://github.com/yangzeng1211/designPattern.git

2018-03-16 11:40:55 109

原创 nginx+tomcat实现负载均衡

什么是nginxnginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定,所以现在很多知名公司都在使用nginx。nginx应用场景1、http服务器。Nginx是一个http服务可以独立提供http服务。可以做网页静...

2018-03-15 21:58:25 84

原创 springmvc

SpringMVC环境搭建:1、加入jar包由于找不到HttpServlet类,可通过导入Tomcat到工作目录或者通过Maven添加HttpServlet类所在的servlet-api.jar&lt;dependency&gt;&lt;groupId&gt;javax.servlet&lt;/groupId&gt;&lt;artifactId&gt;javax.servlet-api&lt;/a...

2018-03-15 13:45:28 92

原创 java数据结构和算法

1、数组2、简单排序3、栈和队列4、链表5、双端链表和双向链表6、递归的应用7、递归的高级应用8、希尔排序9、快速排序10、二叉树的基本概念11、二叉树的基本操作12、遍历二叉树13、删除二叉树节点14、红黑树15、哈希表16、开放地址法17、链地址法18、图的基本概念19、图的搜索20、图的最小生成树1、数组/** * 使用自定义类封装数组 * Created by yz on 2018/0...

2018-03-13 18:36:27 615

原创 排序和查找算法

内容:冒泡排序   选择排序   二分查找  快速排序  递归排序冒泡排序:/** * 冒泡排序 * Created by yz on 2018/3/13. */public class BubbleSort {    public static void main(String[] args) {        int[] arr = {24,69,80,57,13};        // Ar...

2018-03-13 17:21:32 80

原创 二叉树及其原理

二叉树遍历 一、先序遍历和递归实现 1.访问根节点 2.先序遍历其左子树 3.先序遍历其右子树 二、中序遍历和非递归实现 1.中序遍历其左子树 2.访问根节点 3.中序遍历其右子树 三、后序遍历和非递归实现 1.后序遍历其左子树 2.后序遍历其右子树 3.访问根节点二叉树遍历代码部分:/** * Created by yz on 2018/3/13. */public class MyNode {...

2018-03-13 15:04:21 649

原创 Socket网络编程+山寨WEB服务器

Socket网络编程一、网络编程概述javaEE开发、做一些中间件,底层实现原理,怎么通讯,底层都是通过网络编程。什么是网络编程?  网络编程的本质是两个设备之间的数据交换,当然,在计算机网络中,设备主要指计算机。数据传递本身没有多大的难度,不就是把一个设备中的数据发送给两外一个设备,然后接受另外一个设备反馈的数据。  现在的网络编程基本上都是基于请求/响应方式的,也就是一个设备发送请求数据给另外...

2018-03-08 22:26:12 188

原创 集合基础

1.泛型2.集合框架3.向上转型和向下转型4.ArrayList学习5.详细讲解集合元素迭代与LinkedList6.栈(stack)7.Queue接口及实现类ArrayBlockingQu8.ArrayList版通讯录开发9.讲解HashMap10.讲解TreeMap与自然顺序Comparable接口11.讲解TreeMap与第三方比较器Comparator12.讲解Ha...

2018-03-08 17:31:10 96

原创 java之设计模式

 编写代码原则:    开闭原则:对修改关闭、对扩展开发。(如利于代码二次开发)    作用:1.代码重用 2.低耦合(模块与模块之间,类与类之间依赖程度要降低) 3.高内聚(模块或者类内部依赖程度要高)4.易扩充 5.易维护1.适配器模式   核心:只关心自己改造的部分,其他不用管  类的适配器模式:关键就是继承一个source  对象的适配器模式:持有source类的引用  接口的适配器模式:...

2018-03-06 14:46:21 76

原创 jvm热部署

1.什么是热部署2.详细讲解classloader3.实现一个简单的热部署1.什么是热部署什么是热部署:在不重启java虚拟机的前提下,自动检测到class文件的变化,并且更新运行时class行为2.详细讲解classloaderClassLoader作用:1.把class加载到JVM中2.审查每个类由谁负责加载3.将class字节码重新解析为JVM统一要求的对象格式ClassLoader分类:1...

2018-03-05 16:22:52 387

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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