
Java浅谈
董先生的远方
进一寸有一寸的欢喜
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
POST请求传递文件时间过长
问题出现:之前上线过一个功能,使用Httpclient请求接口上传文件,线上使用情况反映功能响应很慢,具体核心代码如下:CloseableHttpClient httpClient = HttpClients.createDefault(); try { HttpPost httpPost = new HttpPost(webserver); // 以浏览器兼容模式运行,防止...原创 2020-01-15 21:28:52 · 4906 阅读 · 0 评论 -
深度解析ThreadLocal
ThreadLocal使用方式为在一个线程中创建一个ThreadLocal对象,使用threadLocal.set()赋值,在相同线程的另一个地方使用threadLocal.get()获取值,接下来,从源码角度分析一下ThreadLocal的实现方式以及存在的问题。1:创建是直接new 一个对象创建出来,既然ThreadLocal与线程已经绑定(一个ThreadLocal在不同的线程之中可以存...原创 2019-12-29 11:37:03 · 379 阅读 · 0 评论 -
mysql主从不一致,更新完数据之后直接读取数据和更新之后的数据不一致解决方案
上来先抛出两个工作中遇到的问题,1:在业务场景中,写过这么一段代码,先更新数据库,然后在代码下面在读取(注意,两块代码不在同一个service上,第一个更新操作service已有事务注解,第二个没有),结果发现读取到的值与写入的值不一致,读取到的是老值。2:一次手残,使用navicate连接数据库时候连接到从库上了,使用navicate更新数据,结果发现在代码service层(已经加了事务注解)读...原创 2019-07-25 16:27:12 · 969 阅读 · 0 评论 -
解决POST请求乱码问题
在本地写了个脚本,请求服务器,请求方式是POST请求,设置seParameter,传递参数是中文,然后在服务器端接受的参数已经变为乱码,解决方式:自定义POST请求的编码方式:public static class UTF8PostMethod extends PostMethod { public UTF8PostMethod(String url) { ...原创 2018-11-27 15:16:07 · 997 阅读 · 0 评论 -
jvm内存区域的划分
JVM的内存区域划分 学过C语言的朋友都知道C编译器在划分内存区域的时候经常将管理的区域划分为数据段和代码段,数据段包括堆、栈以及静态数据区。那么在Java语言当中,内存又是如何划分的呢? 由于Java程序是交由JVM执行的,所以我们在谈Java内存区域划分的时候事实上是指JVM内存区域划分。在讨论JVM内存区域划分之前,先来看一下Java...转载 2018-09-22 16:13:12 · 381 阅读 · 0 评论 -
fegin请求中使用GET方法在服务之间进行调用传递的参数是对象
遇到过一个问题,记录解决。有个类似于开放平台的服务,一些功能需要去调用别的微服务。查询列表调用其余服务的时候需要进行调用另外一个服务的GET请求,对方服务的GET请求需要使用一个DTO接受。dto就是一个实体。各种属性表示查询条件。 @RequestMapping(value = "/store/api/v1/salesmen/{salesmanId}/admin/loaning", met...原创 2018-09-19 18:45:39 · 4129 阅读 · 0 评论 -
设计模式简介
设计模式菜鸟教程翻来覆去也看了好几遍了,每一次都是看完然后过一段时间又忘了,然后在工作中设计模式又用到的挺少的,所以想总结下,好记性总是不如烂笔头么。http://www.runoob.com/design-pattern/design-pattern-tutorial.html这是菜鸟教程设计模式的地址,讲的非常好。设计模式的话其实可以分为三大类。1:创建型;2:结构型;3:行为型。所学到的...原创 2018-09-24 15:33:36 · 351 阅读 · 0 评论 -
HttpClient的PostMethod请求请求体传递参数
工作中遇到使用Postmethod请求,参数以body形式进行传递,记录下,以免以后忘记,话不多说,直接上代码 PostMethod postMethod = new PostMethod("url"); RequestEntity se = new StringRequestEntity(JSONObject.toJSON(esFinanceParamDTO)...原创 2018-09-05 14:37:47 · 22407 阅读 · 3 评论 -
动态代理实现
学习动态代理之前,先来看一种常见的设计模式--代理模式。代理模式是一中经常使用的设计模式。主要特点是代理类与委托类具有相同的接口。所谓委托类是接口的真正实现者,代理类只是调用委托类相关的方法实现特定的功能,代理类可以为委托类预处理信息。假设Personal为一个委托类。eat()方法是委托类的一个方法。在实现吃饭方法之前要盛饭。所以就出现一个代理类PersonalProxy,目的是预先处理一些...原创 2018-08-05 00:04:46 · 167 阅读 · 0 评论 -
设计模式之建造者模式【BuilderPattern】
建造者模式属于创建型模式的一种。建造者模式主要是用于创建一个复杂的对象。使相同的创建过程可以创建不同的对象。建造者模式提供了一种创建对象的最优模式。建造者模式主要用于创建复合对象,复合对象就是某个类具有不同的属性。在一个对象的每一部分经常变化,但是将每一个对象组合起来的算法方式不变化的情况下使用建造者模式再合适不过。话不多说,接下来看下建造者模式的实现类图:先看下接口Ite...原创 2018-07-22 22:44:00 · 161 阅读 · 0 评论 -
浅谈Java异常01
1:什么是异常 异常就是Java程序执行之后在执行期遇到的错误,遇到异常时候我们首先要做的是什么,首先我们要做的是看异常的类型以及出现异常的代码块,一般来说,如果是在程序运行时期出现的异常很容易修复,看下异常类型就大概知道在哪里出现的错误2:我们应该怎么处理异常 首先我们来说如果不处理异常会发发生什么事情,如果我们任由一个异常发生而不去处理他的时候,默认会直接把异常信息打印出来而不去做...原创 2018-04-02 23:14:47 · 188 阅读 · 0 评论 -
https加密原理
为什么需要httpsHTTP是明文传输的,也就意味着,介于发送端、接收端中间的任意节点都可以知道你们传输的内容是什么。这些节点可能是路由器、代理等。举个最常见的例子,用户登陆。用户输入账号,密码,采用HTTP的话,只要在代理服务器上做点手脚就可以拿到你的密码了。用户登陆 --> 代理服务器(做手脚)--> 实际授权服务器在发送端对密码进行加密?没用的,虽然别人不知道你原始密码是多少,但...转载 2018-03-17 16:04:46 · 597 阅读 · 0 评论