自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

我的小睛天

我的小睛天

  • 博客(40)
  • 收藏
  • 关注

原创 idea 快捷键

两下Shift 搜索Ctrl+Alt+L 格式化代码Ctrl+Alt+V 返回值补全Alt+Enter 导入包 快速创建方法Ctrl+N 按类名搜索Alt+Home 上一步Alt+Insert 生成get set 方法ctr+shift+u 变大写ctr+shift+r 全局搜索F8: 会继续执行下...

2018-08-08 14:44:29 92

原创 用注解代替if-else

策略模式用策略模式代替If-else,主要是定义统一行为(接口或抽象类),并实现不同策略下的处理逻辑(对应实现类)。客户端使用时自己选择相应的处理类。以订单为基础类@Datapublic class Order { private String source; private String payMethod; private String code; private BigDecimal amount; public Order(Strin...

2020-11-25 10:53:08 220

转载 dubbo负载均衡策略解析

dubbo负载均衡策略前言:在上一篇博客中,介绍了zookeeper作为dubbo的注册中心是如何工作的,有一个很重要的点,我们的程序是分布式应用,服务部署在几个节点(服务器)上,当消费者调用服务时,zk返回给dubbo的是一个节点列表,但是dubbo只会选择一台服务器,那么它究竟会选择哪一台呢?这就是dubbo的负载均衡策略了,本篇博客就来聚焦dubbo的负载均衡策略。本篇博客的目录一:负载均衡介绍1.1:负载均衡简介以下是wikipedia对负载均衡的定义: 负载均衡改善...

2020-11-18 17:41:41 735

转载 面试转载

面试题:HashMap底层实现原理,红黑树,B+树,B树的结构原理,volatile关键字,CAS(比较与交换)实现原理答案:https://blog.csdn.net/java_wxid/article/details/106896221Spring的AOP和IOC是什么?使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别答案:https://blog.csdn.net/java_wxid/article/details/106900285Spring和SpringMVC,M

2020-06-29 10:04:40 154

原创 索引数据结构

二叉树:有序排序,依左则最小原则缺点:树结构又长又窄,io读取慢,查询慢AVL Tree: 最大值与最小值是叶子节点,子节点依照左子节点小于子节点,右子节点大于子节点,数据存储随时不变加入新值的同时结构不断的在调整重组50, 100 , 80, 60, 70红黑树:与AVL Tree差不多,就是红黑在不断变化56,50,12,80,40,30,90,70,60,10,...

2019-05-07 10:33:46 796

原创 mysql存储引擎,数据结构,索引

mysql存储引擎分为两种,innodb和myisammyisam不支持事务,支持表级锁; innodb支持行级锁。数据结束采用的是B+Tree,所有的叶子节点都在同一层,采用聚集索引,索引和数据存在一起,叶子节点直接存储数据。https://www.cs.usfca.edu/~galles/visualization/Algorithms.htmlinnod...

2019-05-07 09:38:27 391

原创 docker常用命令

docker ps -a 查看所有容器docker inspect hello-word:latest 查看容器元素

2019-04-16 15:45:13 71

原创 springboot集成webservice,基于用户名,密码

我用的springboot版本的是2.1.3pom.xml<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version...

2019-04-16 14:02:06 4540 2

原创 DelayQueue的使用

DelayQueue:一个使用优先级队列实现的无界阻塞队列。支持延时获取的元素的阻塞队列,元素必须要实现Delayed接口。适用场景:实现自己的缓存系统,订单到期,限时支付等等。 方法 抛出异常 返回值 一直阻塞 超时退出 插入方法 add ...

2019-03-27 17:40:57 3586 2

原创 自定义实现线程池

大家都知道在多线程环境下采用线程池技术,可以降低资源的损耗,那这线程池工作机制是什么?我们可以根据自己想像的定义一个线程池,这里的缺陷是什么一 ,自定义线程池工具类,需要借助队列来实现1.首先线程池中线程个数,有默认线程数2.工作线程组,线程池启动时有默认线程数的线程运行(从阻塞队列中获取去线程并运行)3.线程任务,用户需要执行的线程任务4.BlockingQueue阻塞队列...

2019-03-27 15:39:44 6360 4

原创 CompletionService优于ExecutorService

当使用ExecutrorService返回多个Futrue时,需要获取时futrue中的多个返回值,我们一般把它放在队列中去,假如先放入的线程并没执行完,后放入的线程执行完了,我们还需要等待前一个线程执行完才可以获取返回的值,为什么我们不能哪个线程先执行完就先获取哪个线程返回的值呢?CompletionService就实现下面我们可以用队列和CompletionService来对比一下p...

2019-03-27 15:17:48 181

转载 redis事务

转自:https://www.cnblogs.com/Jason-Xiang/p/5364252.htmlRedis事务  Redis中的事务(transaction)是一组命令的集合。事务同命令一样都是Redis最小的执行单位,一个事务中的命令要么都执行,要么都不执行。Redis事务的实现需要用到MULTI和EXEC两个命令,事务开始的时候先向Redis服务器发送MULTI命...

2019-03-19 19:21:48 103

转载 rabbitmq生产配置时,exchange时的三种方式

(点对点)direct:将消息中routingkey与exchange关联的所有Bingding中的Bingkey完全比较(一对多)fanout:将会把消息发送给所有与Exchange 定义的所有Bingding的queue队列中去(订阅)topic:将RoutingKey与BingdingKey进行匹配,如果匹配成功就发送到相应的队列中去  ...

2018-09-03 15:10:12 2401

转载 【RabbitMQ】三种类型交换器 Fanout,Direct,Topic

总结:fanout 不匹配路由键, 只要消息被发送到交换机上,那么绑定这个交换机上的所有的队列都有收到消息,         也就是说所有交换机上所有的队列都会存储消息。    官方说明:不处理路由键。你只需要简单的将队列绑定到交换机上。一个发送到交换机的消息都会被转发到与该交换机绑定的所有队列上。很像子网广播,每台子网内的主机都获得了一份复制的消息。Fanout交换机转发消息是最快的。 ...

2018-09-03 15:09:06 521

原创 java 反射机制

在运行状态中,对于任何一个类,都能知道它的所有属性和方法;对于任何一个对象,都能调用它的方法和属性。那么对于这个类,我们要获取到它的字节码对象。例如我们在new Student时,jvm会在本地磁盘Student.class,并开辟一块Student的内存空间,同时还会创建一个Student的对象(一个类只会产生一个对象)反射的本质:就是得到class对象后,反向获取Student对象的各...

2018-09-03 15:08:55 89

转载 创建线程的几种方式

Executor:是Java线程池的超级接口;提供一个execute(Runnable command)方法;我们一般用它的继承接口ExecutorService。Executors:是java.util.concurrent包下的一个类,提供了若干个静态方法,用于生成不同类型的线程池。Executors一共可以创建下面这四类线程池:newFixedThreadPool创建一个可缓存线程池...

2018-09-03 15:08:34 149

转载 微服务心得

微服务之间的调用可以通过两种方式,一个是RestTemplate,另一个是Feign。相对应,在这两种调用方式下,都有Hystrix调用方法。微信公众号 支付 

2018-09-03 15:08:21 489

原创 每天心得

关于微信支付,通过商品名称,商户编码,金额生成订单,在本地服务器生成订单,成功后然后跳转订单支付页面,WX_URL="https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&amp;redirect_uri=REDIRECT_URI&amp;response_type=code&amp;scope=snsapi_base&...

2018-09-03 15:08:06 785

原创 关于ztree

1、为啥点击“+”展开父节点没有通过URL调到后台?  具体我也没搞清楚,估计是zTree内部机制的原因,我试了N次都没搞定,后来无意中在后台Java代码中将返回结果的map中多加了一个isParent属性,即设置是否是父节点:map.put(“isParent”:”true”);//或false  ...

2018-09-03 15:07:09 150

原创 类的加载顺序

public class TestStatic { Person person = new Person("Test"); static{ System.out.println("test static"); } public TestStatic() { System.out.println("test constructor"...

2018-08-30 11:46:28 394

原创 springboot学习心得

1. 修改代码不需要重新部署  spring-boot-devtools   &lt;configuration&gt; &lt;fork&gt;true&lt;/fork&gt;&lt;!-- fork:如果没有该配置,这个devtools不会起作用,即应用不会restart --&gt;&lt;/configuration&gt;    某些资源在更改时不一定需要触发重新启...

2018-08-29 17:06:07 3018

原创 jvm优化

jvm的组成:1.jvm解释器:即虚拟机处理字段码的cpu2.寄存器:jvm有自己的虚拟寄存器,jvm设置了4种32位寄存器,有指针,计数器,3.指令系统:该系统和计算机类似,一条命令由操作码和操作数组成,操作码为8位二进制,主要为了说明一条指令的功能,   操作数可以由需示来定,jvm有256种指令,目前已使用了160多种操作码4.jvm栈:指令执行时,数据和信息存储的场所和...

2018-08-22 10:25:49 141

原创 集合类与

ArrayList基于数组方式实现,默认构造器调用public ArrayList(int initialCapacity) ,传入的值为10, 实例化一个object数组,总结:无容量的限制,插入元素时会扩容,删除元素时并不减少数组的容量,(如果想减少数组的容量)可以调用ArrayList.trimToSize。线程不安全 LinkedList基于双向链表机制,线...

2018-08-21 15:36:59 131

转载 ThreadLocal

在多个线程访问同一个变量里,该怎么解决,最容易想到是同步,同步是可以做到的,但是涉及到加锁与释放锁以及线程的等待。所以我们可以考虑ThreadLocal工具类,主要用到get, set  remove方法为了说明ThreadLocal的应用场景,我们来看一个框架的例子。Spring的事务管理器通过AOP切入业务代码,在进入业务代码前,会根据对应的事务管理器提取出相应的事务对象,假如事务管理...

2018-08-21 14:52:41 101

转载 nginx中的proxy_pass配置详解

在nginx中配置proxy_pass代理转发时,如果在proxy_pass后面的url加/,表示绝对根路径;如果没有/,表示相对路径,把匹配的路径部分也给代理走。  假设下面四种情况分别用 http://192.168.1.1/proxy/test.html 进行访问。  第一种:location /proxy/ {    proxy_pass http://12...

2018-08-07 14:42:06 2113

转载 redis 本地连接可以 远程连接不上问题

1.所连主机防火墙关一下.1:查看防火状态 systemctl status firewalld service  status iptables  2:暂时关闭防火墙 systemctl stop firewalld service  stop iptables 3:永久关闭防火墙 systemctl disable firewalld chkconfig iptables ...

2018-08-02 11:40:20 7093

原创 linux 命令

用了这么等,每次都不记住,还要查百度,这回记得死死的1.查找文件名:  find / -name 文件名2.vim 中查找功能:   输入 /  要查找的字符3.redis 密码登录:./reids-cli -h host -p port -a password 部署springboot项目  有时会OOMjava -jar -Xmn64m -Xmx256m -Xms256...

2018-08-02 11:00:00 84

原创 win10 注册ftp服务组件

1.命令符以管理员身份运行2.找到UE图标,打开文件所在位置3.以命令行输入以下命令regsvr32.exe wodFtpDLX.dll。regsvr32.exe wodTelnetDLX.ocx。4.就可以打开ftp链接了...

2018-08-02 10:40:25 567

原创 String StringBuffer StringBuilder区别

String :字符串常量               如果要操作少量的数据用StringBuffer :字符创变量      单线程操作字符串缓冲区 下操作大量数据   (速度快)StringBuilder:字符创变量      多线程操作字符串缓冲区 下操作大量数据 = StringBuffer...

2018-07-31 11:29:15 82

原创 linux环境下安装redis

1.下载路径    /usr/local/src    1.1 下载redis的官方路径 :http://download.redis.io/releases/   想哪个版本就下哪个版本啊     1.2  解压  tar  -zxvf   redis-4.0.9.tar.gz     顺便说一下解压吧,查过好几句都记不住      -c 建立压缩档案      -x 解...

2018-07-27 14:45:48 83

原创 启动mysql

启动mysqlsystemctl start mariadb.service开机启动mysqlsystemctl enable mariadb.service

2018-07-13 11:18:53 142

转载 xml转bean

注解介绍        1)        @XmlType        2)        @XmlElement        3)        @XmlRootElement        4)        @XmlAttribute        5)        @XmlAccessorType        6)        @XmlAccessorOrder (不常用)  ...

2018-07-11 11:34:34 701

转载 nginx location详解

Location block 的基本语法形式是:    location [=|~|~*|^~|@] pattern { ... }[=|~|~*|^~|@] 被称作 location modifier ,这会定义 Nginx 如何去匹配其后的 pattern ,以及该 pattern 的最基本的属性(简单字符串或正则表达式) location modifier1.=Example:server ...

2018-03-13 11:20:00 141

原创 webservice生成客户端代码

C:\Users\l>wsimport -keep -p com.demo.abc -s D:\\gen http://192.168.1.233:10002/interChg/webservice/healthSummary?wsdlparsing WSDL...Generating code...Compiling code...解释说明:-d:生成客户端执行类的class文件的存放目录(默认

2018-01-02 13:50:29 341

原创 手机注册获取验证码

关于验证码的问题一个手机号一天内只能获取5次验证码可以把手机和时间做为key,次数作为值存redis,每次获取从redis中取出次数做比较一个ip一天只能获取5次验证码可以把ip和时间做为key,次数作为值存redis,同上一个图形验证码5分钟失效调用接口给手机号发送完验证码,手机号做为key,验证码作为值存入session,然后定时任务,5分钟后清除session中的ke

2017-12-12 11:04:23 5705 1

转载 jquery validate

//定义中文消息var cnmsg = {required: “必选字段”,remote: “请修正该字段”,email: “请输入正确格式的电子邮件”,url: “请输入合法的网址”,date: “请输入合法的日期”,dateISO: “请输入合法的日期 (ISO).”,number: “请输入合法的数字”,digits: “只能输入整数”,creditc

2017-08-16 11:49:51 167

转载 oom解决问题

Eclipse中启动tomcat报错java.lang.OutOfMemoryError: PermGen space的解决方法更多内存溢出 java tomcat eclipse jvm有的项目引用了太多的jar包,或者反射生成了太多的类,异或有太多的常量池,就有可能会报java.lang.OutOfMemoryError: PermGen space的错

2017-07-25 22:02:59 273

原创 linux下安装redis

下载wget http://download.redis.io/releases/redis-3.0.7.tar.gz解压tar xzf redis-3.0.7.tar.gzcd redis-3.0.7安装makemake allmake install复制(/usr/local/src/redis-3.0.7/redis.conf)到指定目录,方便维护操作(/home/

2017-07-10 11:00:40 179

原创 http调用

在写服务端接口,免不了httpclient调用,首先要了解http协议请求   1.按接口文档要求,如果有认证或授权,需要加请求头信息 ,request.setHeader("auth");        2.请求类型。  request.setHeader("Content-Type", "application/json;charset=UTF-8"); 具体要看请求传递的数据类型

2017-07-04 16:21:58 1998

原创 spring整合quart

1.pom.xml                           org.quartz-scheduler                quartz                ${quartz.version}        2.编写配置文件:spring-quart.xml        xmlns:xsi="http://www

2017-06-29 10:51:21 266

空空如也

空空如也

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

TA关注的人

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