自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(176)
  • 收藏
  • 关注

原创 牛客网中级项目学习笔记(一)

牛客中级项目学习: MyBatis 可以通过注解和xml的方式操作数据库,只关心读取写入,不用关心数据库如何连接的。 xml方式操作数据库比注解的好处是可以进行逻辑复杂的操作private List getNews(int userId, int offset, int limit) { List newsList = newsService.getLatestNews(use

2018-01-27 10:20:15 9020 30

原创 适配器设计模式

类适配器和对象适配器,对象适配器用的比较多在设计软件的场景中一般用不上,只要对已经运行良好的接口进行扩展的时候会用到。刘伟 设计模式讲到 有线程的快速排序算法和线程的二分搜索算法库(Adaptee),已经有定义好的班级成绩排序的接口(Target)。现在客户端(Client)需要将班级排序的接口实现,复用算法库提供的能力,但是接口的数据结构可能不兼容,比如成绩排序的入参是Long类型的,算...

2019-11-23 14:35:09 254

原创 命令模式-设计模式

请求发送者invoker命令 command请求接收者 receiver假设请求接受者这件没有共同特征,不能使用抽象层,就不能使用java多态实现,这时用command将invoker和receiver解耦。...

2019-11-12 10:10:39 243

原创 建造者模式

建造者模式//// Source code recreated from a .class file by IntelliJ IDEA// (powered by Fernflower decompiler)//package lombok;import java.beans.ConstructorProperties;class User { private Stri...

2019-08-02 16:09:14 269 2

转载 彻底理解Java的Future模式

转载https://www.cnblogs.com/cz123/p/7693064.html 先上一个场景:假如你突然想做饭,但是没有厨具,也没有食材。网上购买厨具比较方便,食材去超市买更放心。实现分析:在快递员送厨具的期间,我们肯定不会闲着,可以去超市买食材。所以,在主线程里面另起一个子线程去网购厨具。但是,子线程执行的结果是要返回厨具的,而run方法是没有返回值的。所以,这才是难点,...

2019-07-13 17:11:46 324 1

原创 JDK8写代码比较好的技巧 Future FutureTask Callable Stream Predict Function Optional Lombok Google中的ImmuableMap

Future模式

2019-07-13 17:10:28 279

原创 git使 代码冲突解 删除GitHub上的文件夹 某个分支下回滚到某个节点

本博文所说的代码冲突是指:项目托管在git服务器上面,两个人同时修改了同一个文件导致的冲突问题。问题解决:工具:intelij IDEA 2016.2为了构造一个冲突的环境用于书写这篇博客,本人采用这种方式:先在IDEA中新建README.md文件,把一个文件上传(push)到github上面,然后在github这个网站上手动修改这个文件中的内容,这样,当在本地pull下README....

2019-05-12 22:30:43 951

原创 IDEA 调试技巧 多线程调试 获取watch

IDEA调试技巧https://www.cnblogs.com/yjmyzz/p/idea-advanced-debug-tips.html1.循环的时候从某处断点右击断点,在condition中输入i=40,表示在i=40的时候才停下。2.回到上一断点亲测:注意这里只是退栈,堆上的内容改变了不能回退的。3.多线程debughttps://blog.csdn.net/nextyu/...

2019-04-24 12:03:30 1511

原创 SpringBoot RabbitMQ发布/订阅消息

Mac下启动RabbitMQcd /usr/local/Cellar/rabbitmq/3.7.10/sbinsudo ./rabbitmq-serverhttp://localhost:15672/就能看见管理界面,用户密码都是guest看github上的这个demohttps://github.com/scalad/SpringBoot-RabbitMQ/Users/mac/Do...

2019-04-07 21:02:37 965

原创 LeetCode 102 103二叉树层序遍历和锯齿形层次遍历

层序遍历题目描述给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。例如:给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层次遍历结果:[ [3], [9,20], [15,7]]解答:利用广度优先搜索,单向队列即可实现。压入根节点...

2019-03-19 13:24:25 155

原创 final域 内存语义 保证可见性

final域 内存模型保障构造函数中对象不溢出的情况下,其他线程拿到的是初始化后的final 对象。

2019-03-09 10:38:47 1431

原创 高性能MySQL 读书笔记

序言淘宝网数据库架构从垂直拆分走向水平拆分?

2019-03-07 23:47:42 185

原创 线程的状态

Java线程在运行的生命周期中可能处于6中不同的状态。线程变迁图如下所示:我觉得并发编程的艺术中图画的不太好,在运行态中,上面是运行中RUNNING,下面是就绪READY状态,这样画容易引起歧义。让人以为执行start()方法后,会进入运行态中的RUNNING状态。其实不是的,start()方法后,是进入READY就绪状态,等待CPU分配执行时间,也就是从下到上的“系统调度”。在本文总结中将R...

2019-03-07 11:29:08 138

原创 Synchronized锁 偏向锁 锁优化

Synchronized实现同步同步普通方法,锁当前实例对象同步静态方法,锁当前类的Class对象同步方法块,锁是Synchronized()里配置的对象Synchronized在JVM中的实现原理JVM基于进入和退出Monitor对象来实现同步。编译后插入monitorenter到同步代码块开始的位置,monitorexit插入到方法结束处和异常处。monitor被持有后,...

2019-03-03 11:33:32 560

原创 并发编程的艺术 读书笔记

第一章 并发编程的挑战1. 单核CPU分配运行时间给各个线程,实现多线程执行代码。举例:看英文书时某个单词不会,先记住看到书的页数和行数,然后去查单词,查完回到看书状态,相当于上下文切换。2.多线程并不一定比串行执行代码快举例:循环累加的代码,count=10000时,并发比串行执行慢。public class ConcurrencyTest { private static f...

2019-02-28 20:59:01 251

原创 Netty实战学习笔记

第一章一、回调和future是实现异步的两种重要手段

2019-01-17 16:50:53 166 1

原创 Win10安装virtualbox centos6.5 并且ssh远程连接

1、首先安装virtualbox2、下载centos镜像CentOS-6.5-x86_64-bin-DVD1.iso 大概4.3G3、在virtualbox中新建centos,参考这篇博客https://blog.csdn.net/yuchao2015/article/details/521322704、先实验Linux系统是否能够连上网络ping www.baidu.com5、在v...

2018-12-03 21:53:45 576

原创 Python使用心得

这个方法可以获得文件夹下的所有路径。跟os.walk(dir)相似, pos_file_path_list是map类型的,一行代码就解决了,比较方便# 获取图片列表 pos_file_path_list = map(lambda x: os.path.join(POS_IMAGE_DIR, x), os.listdir(POS_IMAGE_DIR)) neg_file_p...

2018-10-24 15:02:09 318

原创 keras 深度学习 图像缺陷识别

一、win10安装keras cmd命令行中输入pip intall keras二、运行keras demo

2018-09-09 13:46:46 4624

原创 手动实现数据库和数据库连接池 操作数据库

Java连接MySQL数据库——含步骤和代码 http://www.cnblogs.com/centor/p/6142775.html代码实现数据库连接池 https://blog.csdn.net/mlc1218559742/article/details/54955965

2018-09-02 21:58:36 717

原创 数据库主从复制 读写分离 负载均衡

目前,大部分的主流关系型数据库都提供了数据库的主从复制功能,通过配置两台(或多台)数据库的主从关系,可以将一台数据库服务器的数据更新同步到另一台服务器上。网站可以利用数据库的这一功能,实现数据库的读写分离,从而改善数据库的负载压力。一个系统的读操作远远多于写操作,因此写操作发向master,读操作发现slaves进行操作(简单的轮询算法来决定使用哪个slave)。利用数据库的读写分离,Web服...

2018-08-31 20:22:28 655

原创 springMVC入门

从无到有搭建一个springMVC程序

2018-08-26 15:28:06 166

原创 spring学习 拦截器 过滤器

拦截器,过滤器的配置:

2018-08-25 14:14:44 176

转载 服务器TIME_WAIT和CLOSE_WAIT详解和解决办法

https://www.cnblogs.com/sunxucool/p/3449068.html

2018-08-24 14:52:19 213

原创 Http2.0和Http1.1和Http1.0的区别

Http1.1和Http1.0的区别 1、默认持久连接和流水线 Http1.1是默认持久连接。 只要客户端服务端任意一端没有明确提出断开tcp连接,就一直保持连接。这样http1.1是默认采用流水线的方式发送请求,即客户端每遇到一个对象引用,就立即发出一个请求,而不必等到收到前一个响应之后才能发出下一个请求,但是服务器端必须按照接收到的客户端请求的先后顺序依次回送响应结果,以保证客户...

2018-08-24 11:24:13 728

原创 Redis整理

redis的作用: 作用就是在每次查询接口的时候首先判断Redis中是否有缓存,有的话就读取,没有就查询数据库并保存到Redis中,下次再查询的话就会直接从缓存中读取了。 用法参考:https://crossoverjie.top/2016/12/18/SSM7/...

2018-07-28 15:51:04 170

转载 10个常见的Redis面试"刁难"问题

导读:在程序员面试过程中Redis相关的知识是常被问到的话题。作为一名在互联网技术行业打击过成百上千名的资深技术面试官,本文作者总结了面试过程中经常问到的问题。十分值得一读。 作者简介:钱文品(老钱),互联网分布式高并发技术十年老兵,目前任掌阅科技资深后端工程师。熟练使用 Java、Python、Golang 等多种计算机语言,开发过游戏,制作过网站,写过消息推送系统和MySQL 中间件,实现过...

2018-07-27 19:00:21 331

转载 泛型讲解

https://blog.csdn.net/harvic880925/article/details/49883589这篇博客写的很好

2018-07-23 10:25:54 1157

原创 多线程总结 线程池 线程通信

一、上下文切换 《Java并发编程的艺术》 即使是单核CPU也支持多线程执行代码,CPU通过给给个线程分配CPU时间片来实现这个机制。时间片是CPU分配给各个线程的时间,因为时间非常短,CPU通过不停的切换线程执行,让我们感觉多个线程同时执行的。 CPU通过时间片分配算法来循环执行任务,当前任务执行一个时间片后会切换到下一个任务。但是,在切换前会保存上一个任务的状态,以便下次切换回这个任务时...

2018-07-20 22:35:09 298

原创 Java Hashcode和equals方法

为什么在重写equals方法的同时,必须重写hashCode方法? 在使用set集合的时候,往其中放入内容相同的对象,如果没有重写hashCode()方法,那么set中将会放入内容相同的对象(因为2个对象地址不同),这和set集合的性质不同。因此需要再重写equals方法的同时,必须重写hashCode方法。...

2018-07-12 08:03:05 123

原创 Java类加载机制

参考https://mp.weixin.qq.com/s/x3Z6srrlTJsPzPS8QMSyWg首先能看到 ExtClassLoader 确实是 AppClassLoader 的双亲,不过却没有看到 BootstrapClassLoader。事实上,上文就提过, BootstrapClassLoader比较特殊,它是由 JVM 内部实现的,所以 ExtClassLoader.ge...

2018-07-11 22:39:40 117

原创 Java并发包 AQS

参考https://github.com/CyC2018/Interview-Notebook/blob/master/notes/Java%20%E5%B9%B6%E5%8F%91.md#%E4%B8%83juc—aqsCountdownLatch 用来控制一个线程等待多个线程。 维护了一个计数器 cnt,每次调用 countDown() 方法会让计数器的值减 1,减到 0 的时候,那些...

2018-07-01 21:59:09 240

原创 计算机操作系统 学习笔记 并发和并行 线程和进程

学习内容:https://github.com/CyC2018/Interview-Notebook/blob/master/notes/%E8%AE%A1%E7%AE%97%E6%9C%BA%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E5%9F%BA%E6%9C%AC%E7%89%B9%...

2018-06-30 21:40:29 661

转载 win10 安装zookeeper 碰到的问题解决

win10 下安装 ZooKeeper 的方法 https://blog.csdn.net/heatdeath/article/details/79039411zookeeper报错 JAVA_HOME is not set https://www.cnblogs.com/china-baizhuangli/p/8920776.html

2018-06-30 14:36:47 1737

原创 Java同步回调 异步回调机制

参考这篇博客http://www.importnew.com/24220.html例子中老师类实现Callback接口,里面拿到一个学生实例(真实场景中可以拿到学生类的集合,挨个提问)实例化一个老师,提出一个问题。有个学生类,实例化一个具体的学生,回答这个问题,学生回答问题的时候需要把老师这个类当做参数传进去,线程睡3s,模拟学生思考问题,学生给出答案,因为已经拿到老师类了,可以回调老师类中的...

2018-06-29 20:47:22 1414 1

原创 LeetCode 79单词搜索

给定一个二维网格和一个单词,找出该单词是否存在于网格中。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。示例:board =[ ['A','B','C','E'], ['S','F','C','S'], ['A','D','E','E']]给定 word = "ABCCED...

2018-06-28 20:12:02 385

原创 LeetCode81 搜索旋转排序数组 II

二分查找,但是下面的代码在测试用例[3,1] 1中出错。package 牛客刷题.LeetCode.查找.search_in_rotated_sorted_array_ii;/** * Created by Administrator on 2018/6/28 0028. */public class Solution { public static void main(St...

2018-06-28 16:02:45 481

原创 Socket BIO编程实例 NIO编程

源本教育 https://www.bilibili.com/video/av16773924?from=search&seid=11920440178139597593 一、每个socket实例都有一个线程负责 BIO 同步非阻塞形式 实例见博客 BIO Socket网络编程实例 附代码二、优化 使用线程池 仅仅只是做了个改良,还是阻塞式的三、NIO 阻塞:接收数据...

2018-06-28 10:25:41 289

原创 BIO Socket网络编程实例 附代码

Server端package com.wp.bio;import java.io.IOException;import java.net.ServerSocket;import java.net.Socket;public class Server { final static int PROT = 8765; public static void main(...

2018-06-28 10:16:46 472

原创 RPC框架入门 学习梁飞的RPC

用到了动态代理,反射机制,网络编程BIO,简洁精妙。package rpc梁飞简单demo;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;impo...

2018-06-27 23:10:15 373

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除