![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
成为世间你想看见的改变
这个作者很懒,什么都没留下…
展开
-
数据库主从分离的常见实现方式,以及程序内部实现的两种思路
数据库主从分离通常有几类实现方式,一是在应用程序内区分主从,二是新增一层数据库代理服务器,在应用服务器和数据库服务器之间根据SQL区分主从。前者的好处是可以不用新增额外的服务器开销,后者的好处是可以不用对项目程序逻辑做任何的改动。而从应用程序内部区分主从,又有两种方式,一是根据包名区分,二是根据自定义注解区分。一、根据包名区分主从根据包名区分大概就是把操作主库的Mapper和xml文件放到...原创 2020-01-07 14:16:05 · 663 阅读 · 0 评论 -
Java多线程的实现方式,以及为什么我们要考虑线程安全问题
我们先看Java中实现多线程的几种方式:1.继承Thread,重写 run()方法。2.实现Runnable,实现run()方法。建议使用实现Runnable接口的方式,因为Java的机制是单继承,多实现并且我们可以通过setPriority()来设置该线程的执行优先级/** * 通过继承Thread来实现多线程的类 */public class ThreadA extends T...原创 2019-12-09 15:08:59 · 380 阅读 · 0 评论 -
分析JDK代理与CGlib代理的区别,从而解读Spring AOP事务失效的问题的原因
动态代理和静态代理的区别?动态代理是在程序运行时才生成目标代理类的class文件,而静态代理是在编译时就生成了目标代理类的class文件有哪些常用的框架技术用到了动态代理?Spring的AOP功能,可以用来加事务,加权限和加日志。Mybatis Mapper的映射,实际上是把获取数据库连接,封装结果集返回等操作放在了动态代理中。RPC框架,远程过程调用,通俗点说就是“像调用本地服务一样调...原创 2019-12-02 14:54:40 · 537 阅读 · 0 评论 -
使用springCould来搭建微服务项目我们需要了解哪些组件
微服务是什么?微服务是一种架构思想,重点在于将服务颗粒化,分而治之。各个服务之间通过restful API之类的轻量级通讯机制来进行交互。微服务遵循的原则是什么?1.高内聚,低耦合:根据业务建模,把每个功能拆分成各个稳定的服务,各个服务之间只有输入输出关系,没有依赖关系2.最少知识原则:服务暴露的接口完全是服务于业务的,并且不需要调用方了解任何接口内部的实现逻辑3.把外部调用服务所需要...原创 2019-11-27 16:07:56 · 526 阅读 · 0 评论 -
Java模板设计模式解析(简单易懂)
首先,我们有一个PersonalComputer的接口,这个接口有一个start()方法;package com.tlgg.design.template;/** * 电脑接口 */public interface PersonalComputer { void start();}但是我们希望这个接口的具体实现类,都严格按照以下步骤执行:1.开机(固定)2.执行任务...原创 2019-11-06 10:55:50 · 163 阅读 · 0 评论 -
负债均衡,反向代理以及常见的分发策略
首先,我们要搞清楚为什么要做负载均衡?负载均衡是为了解决单点故障问题。什么叫单点故障?用户都请求到一台应用服务器,然后都通过同一个数据库服务器来处理,这个时候如果应用服务器宕机了,或者响应过慢,那么这个服务都无法正常使用了。说到负债均衡,就肯定要说反向代理。正向代理就是经过代理中转,对服务端隐藏客户端信息(通过VPN访问国外网站,国外网站只能拿到代理服务器的信息,拿不到真实发起请求用户端...原创 2019-10-22 16:32:45 · 294 阅读 · 1 评论 -
SpringMVC如何接入rabbitMQ
1.首先你要先写好一个Listener类:package com.tl.mq.listener;import com.alibaba.fastjson.JSONObject;import lombok.extern.slf4j.Slf4j;import org.springframework.amqp.core.Message;import org.springframework.am...原创 2019-10-16 14:08:11 · 483 阅读 · 0 评论 -
同源策略以及Java处理跨域请求
我们如何保证用户信息的安全?如何防止恶意的网站窃取数据?答案是:同源策略。只有协议相同,域名相同,端口相同的网页,才能算是同源。而非同源的网站跳转,会有三条限制:1.Cookie,localStorage(本地缓存)等信息无法被读取(保证了B网站无法拿到用户在A网站的登入信息)2.DOM无法获得3.AJAX请求不能发起为什么要有这三条限制?让我们设想这样一种情况:A网站是一家银行...原创 2019-10-14 17:59:21 · 831 阅读 · 0 评论 -
JSONObject.toJSONString()生成Json字符串的字段缺失问题
最近用JSONObject.toJSONString()生成Json字符串时发现有一个字段的值缺失了,仔细研究后发现是因为我在父类A和子类B上都声明了一个属性c,而生成JSON字符串时,取的是子类对象的属性c,当子类属性c进行初始化的时候,JSON字符串就会出现缺失c字段的情况。、这个时候,我们把子类的同名属性删掉,或者把父类的同名属性的值赋值给子类,就可以正确生成对应的JSON字符串了。...原创 2019-04-17 17:53:55 · 10706 阅读 · 0 评论 -
SpringBoot上传文件报错,使用MultipartHttpServletRequest
项目从springMVC升级到springBoot之后,原来上传文件的功能用不了了,抛了一个MethodArgumentConversionNotSupportedException异常:org.springframework.web.method.annotation.MethodArgumentConversionNotSupportedException: Failed to conver...原创 2019-03-01 17:02:32 · 8913 阅读 · 1 评论 -
使用PostMan模拟请求上传/下载文件
PostMan模拟请求下载文件:PostMan模拟请求上传文件:首先要选择post类型请求,然后选择Body,请求格式选择form-data,然后以key-value的格式传值,点击文件类型,选择file(默认为text),然后选择要上传的文件就可以了。然后在服务端接收请求的接口中,通过MultipartFile来接收文件...原创 2019-02-25 15:08:28 · 16077 阅读 · 0 评论 -
idea把git远程分支拉取到本地
在开发过程中,我们有时候会碰到一种情况:本地分支只有 development,远程分支有development,release,master这三个分支,那么我们本地要怎么切换到master分支呢?一:正常来说,直接在idea的右下角点击Git->选择项目->选择RemoteBranches->选择远程分支,然后Checkout as new local branch:但...原创 2019-02-18 19:17:33 · 35722 阅读 · 3 评论 -
idea手动安装lombok插件
首先idea是可以自动安装插件的,通过左上角的File->setting打开setting面板然后搜索plugin,再在plugin面板下搜索你想要安装的插件,如果本地没有,就在Browser respository下搜索,选择Lombok plugin之后,点击右侧的Install就好了。但是自动安装有时候会报read time out的错误。这时候就需要手动安装插件了。首先...原创 2019-01-31 17:06:12 · 8369 阅读 · 0 评论