摘要: 基于Consul+Upsync+Nginx实现动态负载均衡 常用服务器注册与发现框架:Consul、Eureka、 ZooKeeper以及Etcd Consul使用Raft算法实现集群数据一致性: 使用consul作为服务的注册(Consul的KV服务相当于nginx的DB);用upsync实现拉取 阅读全文
posted @ 2020-06-08 16:57 shuG214xin 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 一、Web常用攻击手段: 1.XSS脚本 -> 使用Javascript脚本注入,浏览器默认支持脚本语言执行 比如:<script>alert('sss')</script> <script>window.location.href='http://www.itmayiedu.com';</scri 阅读全文
posted @ 2020-06-08 16:49 shuG214xin 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 分布式协调工具Zookeeper: Java语言编写开源框架 ZK应用场景: 1.注册中心->一般都是集群版本,consul\eureka\zk\redis高可用 2.分布式配置中心->动态管理配置文件信息 3.消息中间件->事件通知,类似发布订阅功能 4.解决分布式事务->全局协调者 5.分布式锁 阅读全文
posted @ 2020-06-08 16:37 shuG214xin 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 使用缓存减轻服务器端的压力,提高访问速度分类: 单点缓存框架(内置缓存框架,针对单个jvm中,缓存容器放在jvm中,每个jvm互不影响)->ehcache(用java写的,针对java。很多优秀java开源框架,如mybatis\hibernate底层都使用)、guava cache、oscache 阅读全文
posted @ 2020-06-08 16:13 shuG214xin 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 1.字段设计 IP地址存储:常规使用varchar(15),优化使用unsigned,0—255一个数字。select aton;ntoa address to number 原则:尽量使用整数表示字符串->存储空间固定;运算速度快->enum维护成本较高(替代方案:使用关联表) 字节byte:存储 阅读全文
posted @ 2019-08-27 09:08 shuG214xin 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 快速的整合第三方框架,简化XML配置,全部采用注解形式,减少冗余代码,内置Tomcat容器,帮助开发者实现快速开发,Web组件默认集成SpringMVC框架 1.pom中引入依赖管理,继承spring-boot-starter-parent项目来获得一些合理的默认配置,dependency的时候就不 阅读全文
posted @ 2019-08-05 18:01 shuG214xin 阅读(96) 评论(0) 推荐(0) 编辑
摘要: JVM内存结构: 堆、方法区和运行时常量池是所有线程共享访问的内存区域;而java栈、本地方法栈和程序计数器是运行时线程私有的内存区域 堆: 存放所有的Java 对象,存储对象实例。堆是一个运行时数据区,类的对象从中分配空间,这些对象通过New 关键字建立,堆是由垃圾回收来负责的,堆的优势是可以动态 阅读全文
posted @ 2019-05-17 18:29 shuG214xin 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 1.反射 (类名)Class.forName(String 类路径).newInstance();类对象.getClass().newInstance()类.class.newInstance()如何防止被反射 2.六大原则 开闭原则OCP、里氏代换原则、依赖倒转原则、迪米特法则、合成复用原则 行为 阅读全文
posted @ 2019-05-08 17:14 shuG214xin 阅读(600) 评论(0) 推荐(0) 编辑
摘要: 什么是线程? 同步与异步的理解线程的各个状态的转变,如何判断线程是否死亡用户线程和守护线程:通过setDaemon(true)来设置,必须再start前,运行中的用户线程无法设置为守护线程,守护线程不适合用在读写操作或者计算逻辑,因为JRE判断程序是否执行结束的标准是所有的前台执线程行完毕,而不管后 阅读全文
posted @ 2019-04-28 17:21 shuG214xin 阅读(126) 评论(0) 推荐(1) 编辑