- 博客(24)
- 收藏
- 关注
原创 使用Zookeeper实现动态负载均衡
一、负载均衡概述 二、Dubbo原理 生产者:<!-- 提供方应用信息,用于计算依赖关系 --><dubbo:application name="provider"/><!-- 使用zookeeper注册中心暴露服务地址 --><dubbo:registry address="${zookeeper.register.address}" protocol=...
2018-03-30 23:23:06 3532 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 1362
原创 JVM垃圾回收机制算法分析
JVM内存运行时数据区一、什么是垃圾回收机制gc垃圾回收机制&&算法什么是垃圾回收机制:不定时去堆内存清理不可达对象。不可达的对象并不会马上就会直接回收,而是至少要经过两次标记的过程。public class Test { public static void main(String[] args) { Test test = new Test(); ...
2018-03-24 23:06:25 255
原创 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仓库,本地项目文件夹右键–>Git Bash Here 输入gi...
2018-03-22 22:47:53 517
原创 SpringCloud
一、网站架构演变过程微服务架构--SpringCloud单点应用、分布式系统面向服务架构(SOA)、微服务架构传统web项目:三层架构 控制层-业务逻辑层-数据库访问层 代码全部在一个项目中,使用包名进行区分com.controller -- 控制com.service -- 业务逻辑层com.dao -- 数据库访问层面向服务架构项目:如果在互联网公司,如果使用传统架构技术开发,会产生什么问题...
2018-03-21 10:07:18 355
原创 SpringBoot
一、SpringBoot概述SpringBoot未来主流1.敏捷开发(整合任何框架),弊端:封装的太死了,不方便扩展,springboot高版本没有这个问题。2.无需Tomcat(springboot运行是通过java应用程序运行,实际是jar包),内置Tomcat3.减少xml配置(没有xml),以配置文件形式,全部只写properties文件4.SpringCloud+Spring...
2018-03-19 18:33:53 404
原创 SpringAOP与事物原理分析
一、SpringAOP概述 什么事springaop? 面向切面编程应用场景:权限控制、事务管理、日志打印、性能统计项目中什么地方使用AOP 代码重复在不同的方法中,但是需要相同的操作。AOP关注点:重复代码切面:抽取重复代码切入点:拦截哪些方法springaop方式:注释、xml二、SpringAop注解方式spring.xml中开启事务权限:<aop:aspectj-autoproxy ...
2018-03-18 21:16:40 3400
原创 MySQL语句性能优化
MySQL概述1.数据库设计 3范式2.数据库分表分库---会员系统() 水平分割(分页如何查询)MyChar 、垂直3.怎么定位慢查询---------------------数据库索引的优化、索引原理SQL语句调优数据库读写分离--MyChar---------------------分组 having存储过程、触发器、函数存储过程:写了一块sql语句,类似Java中方法,只需调用传参数,...
2018-03-18 16:34:27 2541
原创 跨域网站请求解决方案
什么是跨域:跨域其实是浏览器安全机制,请求访问的域名与ajax请求地址不一致,浏览器会无法返回请求结果。通俗点就是:B服务的页面中通过ajax加载了A服务中的信息 。 跨域原因产生:在当前域名请求网站中,默认不允许通过ajax请求发送其他域名。http://b.com/b.jspb.jsp<script type="text/javascript"> $(function() { $....
2018-03-16 22:21:37 278
原创 java设计模式
全部设计模式、设计原则示例和说明,项目目录结构:java设计模式项目代码地址:https://github.com/yangzeng1211/designPattern.git
2018-03-16 11:40:55 244 1
原创 nginx+tomcat实现负载均衡
什么是nginxnginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定,所以现在很多知名公司都在使用nginx。nginx应用场景1、http服务器。Nginx是一个http服务可以独立提供http服务。可以做网页静...
2018-03-15 21:58:25 183
原创 springmvc
SpringMVC环境搭建:1、加入jar包由于找不到HttpServlet类,可通过导入Tomcat到工作目录或者通过Maven添加HttpServlet类所在的servlet-api.jar<dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</a...
2018-03-15 13:45:28 192
原创 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 712
原创 排序和查找算法
内容:冒泡排序 选择排序 二分查找 快速排序 递归排序冒泡排序:/** * 冒泡排序 * 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 138
原创 二叉树及其原理
二叉树遍历 一、先序遍历和递归实现 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 973
原创 Socket网络编程+山寨WEB服务器
Socket网络编程一、网络编程概述javaEE开发、做一些中间件,底层实现原理,怎么通讯,底层都是通过网络编程。什么是网络编程? 网络编程的本质是两个设备之间的数据交换,当然,在计算机网络中,设备主要指计算机。数据传递本身没有多大的难度,不就是把一个设备中的数据发送给两外一个设备,然后接受另外一个设备反馈的数据。 现在的网络编程基本上都是基于请求/响应方式的,也就是一个设备发送请求数据给另外...
2018-03-08 22:26:12 402
原创 集合基础
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 170
原创 java之设计模式
编写代码原则: 开闭原则:对修改关闭、对扩展开发。(如利于代码二次开发) 作用:1.代码重用 2.低耦合(模块与模块之间,类与类之间依赖程度要降低) 3.高内聚(模块或者类内部依赖程度要高)4.易扩充 5.易维护1.适配器模式 核心:只关心自己改造的部分,其他不用管 类的适配器模式:关键就是继承一个source 对象的适配器模式:持有source类的引用 接口的适配器模式:...
2018-03-06 14:46:21 132
原创 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 786
原创 高性能网络通信技术--java NIO
一.NIO产生的背景 BIO,输入输出(原始) NIO(Not-blocking IO) 非阻塞的IO模型 channel高速公路 (selector选择器)客户端 --------------------------> 服务端 多路复用技术 主要目的:提高程序的性能,借鉴了一些先进的思想 BIO和NIO都是同步IO二.必须明白的几个概念 1)....
2018-03-05 14:03:37 320
原创 JAVA多线程之间实现同步+多线程并发同步解决方案
一、什么是线程安全问题 为什么有线程安全问题? 当多个线程同时共享同一个全局变量或静态变量,做写的操作(修改变量值)时,可能会发生数据冲突问题,也就是线程安全问题。但是做读操作时不会发生数据冲突问题。案例:需求现在有100张火车票,有两个窗口同时抢火车票,请使用多线程模拟抢票效果。/** * 需求现在有100张火车票,有两个窗口同时抢火车票,请使用多线程模拟抢票效果。 * Crea...
2018-03-04 14:09:15 45775 4
原创 Java Annotation(注解)
系统内置注解:@Override : 表示重写父类的方法@Deprecated: 对不推荐使用的方法进行注释。@SuppressWarnings : 告诉编译器忽略指定的警告,不用在编译完成后出现警告信息自定义注解:/** * 自定义注解,自动实现了Annotation接口 * @Target 表示允许在哪里使用 * @Retention 表示允许反射获取信息 * Created b...
2018-03-03 14:46:49 165
原创 spring task定时任务,RabbitMQ
Spring-Taskspring task是Spring3.0以后自主开发的定时任务工具,可以将它比作一个轻量级的Quartz,而且使用起来很简单,除spring相关的包外不需要额外的包,而且支持注解和配置文件两种形式。使用@Scheduled注解方式:第一步:import java.util.HashMap;import org.apache.log4j.Logger;import org.s...
2018-03-02 16:40:29 4077
原创 java反射
java反射机制就是在程序运行状态中,对于任意一个类,都能知道这个类的属性和方法;对于任意一个对象,都能够调用到他的属性和方法。这种动态获取信息以及动态调用对象的方法的功能称为java语言的反射机制。1.Class类 (3种实现方式)2.Class类动态加载类的用法3.Class类的使用4.Class类获取方法信息(返回值、方法名、参数)5.Class类API 获取成员变量的信息6.Class类A...
2018-03-01 18:24:13 176
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人