
Java
文章平均质量分 71
小丫么小问号
这个作者很懒,什么都没留下…
展开
-
如何优雅地实现Controller返回数据格式的统一
如何优雅地实现Controller返回数据格式的统一在controller里面,我们可以这样实现返回格式的统一@ResponseBody @RequestMapping(value = "saveReferenceInfo", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_UTF8_VALUE) ...原创 2019-11-07 16:31:20 · 1346 阅读 · 0 评论 -
二叉树原理及实现
完整代码在这里 https://github.com/zhangjunapk/half_search_tree 树被广泛使用,比如文件系统,unix上用到了红黑树,windows上用到了树二分查找树可以说是一个有序的集合,节点之间用链表链接起来,可以用二分搜索的方式来对搜索二分查找树在写入上做了一个性能的权衡,每次写入数据都要遍历,然后放到合适的位置是一种很平衡的数据存储结构...原创 2018-11-05 00:24:38 · 4235 阅读 · 0 评论 -
自己实现一个DB工具类实现ResultSet解析成List<T>
今天无聊,然后封装了一下DB的工具类,这个工具类主要作用就是解析ResultSet然后通过反射封装成List<T>我们来看看效果吧 这就是最终的结果 我们传入数据库配置信息,然后传sql和类来获得一个List 我们来看看代码吧 首先是构造方法, //加载配置文件,获得链接 public DBUtil(String pr...原创 2018-12-08 20:40:35 · 634 阅读 · 0 评论 -
synchronized 的使用以及底层简单分析
synchronized 的使用文章目录synchronized 的使用实例级别静态方法级别代码块级锁实例级别public class UtilInstance { private int num; public synchronized void pp() {//这是实例级别的 num++; System.out.println("pp ...原创 2019-07-08 17:42:31 · 131 阅读 · 0 评论 -
设计模式->建造者
建造模式文章目录建造模式建造模式介绍代码实现建造模式介绍建造模式的核心就是不同对象的组合代码实现食物接口public interface IFood { void eat();//吃 double getPrice();//获得价格 FoodEnum getFoodType();//获得食物类型,便于后面强转}甜品接口public interface I...原创 2019-07-09 10:17:28 · 137 阅读 · 0 评论 -
Spring Boot 定义拦截器,拦截所有执行的sql
Spring Boot 定义拦截器,拦截所有执行的sql文章目录Spring Boot 定义拦截器,拦截所有执行的sql代码实现一些说明代码实现import com.alibaba.fastjson.JSONObject;import org.apache.ibatis.executor.statement.StatementHandler;import org.apache.ibat...原创 2019-07-09 21:42:55 · 8887 阅读 · 2 评论 -
单例模式,一种防反射攻击的写法
单例模式,一种防反射攻击的写法文章目录单例模式,一种防反射攻击的写法介绍代码实现介绍单例模式一般用于只需要一个对象的场景,必须http请求工具类,我们不需要多个,就可以用单例的写法代码实现public class UtilSync { private static UtilSync sync; private UtilSync(){ System.out....原创 2019-07-11 23:29:16 · 204 阅读 · 0 评论 -
设计模式-适配器模式
适配器模式文章目录适配器模式简单介绍继承关系代码实现简单介绍适配器模式用于解决两个不同对象之间的兼容问题。比如我们要对接第三方服务,他们的传递过来的数据和我们使用的数据之间是不兼容的,这就需要我们加一个中间层来处理兼容问题。我们需要把我们的数据提取出来,然后拼接成他们想要的数据,请求他们,然后从他们的服务获得结果,然后解析结果,更新我们的表里面的数据。在我们的生活中,很多地方都用到了适配器模...原创 2019-07-16 17:41:47 · 174 阅读 · 0 评论 -
设计模式-桥接模式
设计模式-桥接模式文章目录设计模式-桥接模式模式介绍类间关系代码实现一些总结模式介绍桥接模式用于分离要做的功能和具体实现,从而让各个模块独立出来。接下来我们看一个例子,假如我们有一个机器人,这个机器人能够动手指,能够跑步,以及思考。假如我们不用桥接模式,普通的写法就是把动手指的实现写到和机器人写到同一个类里面,这样的话,以后我们要调整实现的话,每次都要修改机器人里面关于动手指的实现。假如我们...原创 2019-07-17 18:13:12 · 164 阅读 · 0 评论 -
怎么用okhttp获得响应头数据
怎么获得响应头数据文章目录怎么获得响应头数据背景简单分析接下来就是代码实现背景百度搜索结果,但是真实的url被百度加密了,假如我们需要获得真实url需要怎么处理呢?带着这个疑问,我在chrome浏览器里看了下简单分析这是百度加密后的urlhttp://www.baidu.com/link?url=zHfvhKsuV2gzGWyuGeVuSfhZ8kLerKc5oMYBeodhkBfCc...原创 2019-09-23 10:45:51 · 5052 阅读 · 0 评论 -
EhCache 核心功能实现
刚才我弄了一下EhCache底层有用链表实现的,并且默认使用lru算法来提高效率,当把元素放进去的时候,会先放到头部链表然后在使用数据的时候,会从头部查找这个数据,然后把找到的数据放到头部,然后返回并且还会开启线程来定时从尾部清理节点 看代码吧public void put(String key, Object val) { if(headNo...原创 2018-10-12 22:44:44 · 525 阅读 · 0 评论 -
我是怎么封装poi工具类的
今天我封装了一下POI工具类可以用这个工具类解析xls并生成List可以通过list和标题来生成xls文件 首先是生成xls文件的部分public static <T> void generateXls(OutputStream os,String title, Map<Integer,String> titleMap, List<T> ...原创 2018-10-12 20:31:44 · 1401 阅读 · 0 评论 -
手写快速Web开发框架--集成RabbitMQ
#最近难得有空,然后试着集成了下RabbitMQ###完整代码在这里 https://github.com/zhangjunapk/WinterBatis先看下效果,访问这个路径能发送消息,然后消费者能消费消息 ##首先定义注解@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.TYPE)publi...原创 2018-09-22 15:38:16 · 447 阅读 · 0 评论 -
Spring aop入门
Spring 的 AOP挺牛逼的,今天我就简单使用了一下----------------------什么是 AOP----------------------我理解的AOP就是使用动态代理,将业务逻辑和一些杂碎的事情分离开,让开发者专注于业务逻辑的开发----------------------为什么要用AOP----------------------假如我们要写...原创 2018-03-09 23:54:16 · 239 阅读 · 1 评论 -
mybatis 入门教程
今天,我捣鼓了下mybatis-------------------------mybatis环境搭建-------------------------我用的idea首先需要创建maven项目然后在pow.xml中加这些来下载依赖<dependencies> <dependency> <groupId>org.mybatis</gr...原创 2018-03-10 22:34:39 · 201 阅读 · 0 评论 -
手写代码实现逆生成Bean
今天我写了个小工具,可以通过数据库中指定的表生成Bean整体流程:1.设置数据库连接 url,username,password,Bean要放的包名,以及表名2.然后遍历表名List,执行select * from 表名方法3.每次执行语句,我们都获得metaData,然后获得每个字段的类型和名称4.我们需要根据metaData中获得的int 类型值进行判断,并放到容器中5.然后把表名作为key,...原创 2018-05-26 21:32:26 · 326 阅读 · 0 评论 -
HashMap底层分析以及手写实现
HashMap平时我们都在用,底层效率挺高的我对HashMap的理解就是使用了数组+链表的结构当我们插入数据的时候,通过传入的key的hash来计算应该放的位置 如果计算出来的索引有数据了,就遍历其下的链表 如果链表中有key与传进来的一致,就改掉当前遍历到的节点的value 如果遍历到最后也没有key一致的节点,就添加节点到最后 如果计算出来的索引位置中没...原创 2018-05-26 21:43:40 · 298 阅读 · 0 评论 -
java web 实现文件夹上传(保留目录结构)
今天我弄了一下文件夹上传(很简单的)首先,我们的html需要这样写<form action="/file/upload" enctype="multipart/form-data" method="post"> <input type="hidden" name="type" value="1"/> <i原创 2018-06-04 23:11:07 · 13727 阅读 · 18 评论 -
js代码执行问题
今天我遇到一个js代码的执行问题,上代码$("#primary_menu .nav-menu").append("<li class=\"\">\n" + " <a href=\"//category/"+data+"\">\n" + " &原创 2018-07-03 00:57:14 · 212 阅读 · 0 评论 -
RPC(远程过程调用)
当我们的web系统很大的时候,我们就需要使用分布式框架分布式框架都用到了RPC可以让客户端像调用本地服务一样调用远程服务其本质是通过Socket链接服务端, 然后向服务端发送需要调用的服务的接口然后服务端向客户端返回实现了接口的对象客户端就直接调用了 我们看一下最终效果 IStudent invokeServer = new ServerInvoker&...原创 2018-08-05 23:39:42 · 230 阅读 · 0 评论 -
OkHttp+Jsoup爬Boss直聘招聘信息
OkHttp可以向指定链接发送请求,然后获得响应,Jsoup可用于解析html,Jsoup强大的地方是Select方法,可以通过传入元素选择表达式来获得元素谷歌浏览器有个功能可以获得元素选择的表达式 这样就把选择元素的表达式复制到粘贴板了接下来看代码实现 因为我创建的是maven项目,我们可以再pom文件中添加依赖 <dependency&g...原创 2018-09-09 20:07:11 · 1632 阅读 · 1 评论 -
for 语句的更多细节
for 语句public class Test { public static void main(String[] args) { int x = 2,y=3; switch(x) { default: y++; case 3: y++原创 2017-10-16 22:51:23 · 180 阅读 · 0 评论