- 博客(47)
- 收藏
- 关注
原创 一个很优美的操作dao的接口设计方案
通常在业务代码里面会进行dao的操作,dao层会提供正删改查等api,如何减少重复的增删改查,使得代码更简洁有图为证:1.首先说明IBaseDAO,这个接口主要是定义一些常用的增删改查方法package com.bj58.xxzl.hunter.configure.web.dao;import com.bj58.xxzl.hunter.configure.web.dao.e...
2020-02-24 11:45:15
395
原创 layer中如何让layer.confirm看起来是阻塞的
问题1:layer.confirm和系统自带的confirm的区别layer中的confirm不是阻塞的,也就是说在执行confirm时,也就是用户在选择确定或者关闭按钮的时候,如果后面跟着ajax代码,name不会等待用户点击,而是直接执行后面的ajax代码。如果ajax代码中有类似于layer.msg()这样的提示框,给用户的直观感受就是还没有选择确认或者关闭,就会直接弹出layer.m...
2020-02-23 21:22:21
7620
3
原创 观察者模式
观察者模式有两个角色,一个是观察者Observer,另外一个是被观察者Subject,多个观察者Observer观察Subject,当Subject有所变化时,Observer也随之做出相应的变化。首先定义观察者抽象类Observer,定义通用的做出改动的方法,这里最好是设置抽象类,里面放置一个抽象方法update方法,每个观察者都持有一个通用的Subject,观察Subject所做出的变化...
2020-01-31 11:51:07
204
原创 责任链模式demo
责任链模式将请求的发送者和接收者解耦,每当接收一条指令或者一个变化时,责任链上的每一个实例对象都会根据条件来做出相应的变化,责任链模式最核心的代码有两个:1.就是每个实例对象都包含有一个指向下一条实例对象的属性(protected AbstractLogger nextLogger)。2.就是每个对象在处理完当前所做的变化都会查看下一条指令是否为空,如果不为空,则调用下一个对象的通用方法(l...
2020-01-30 11:49:10
324
原创 HTTP简介
HTTP简介HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。。HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。HTTP工作原理HTTP三点注意事项:HTTP是无连接:无连接的含义是限制每次连接...
2020-01-29 14:10:11
411
原创 用Dom解析xml文件
1.代码package com.self3;import org.w3c.dom.Document;import org.w3c.dom.Element;import org.w3c.dom.Node;import org.w3c.dom.NodeList;import javax.xml.parsers.DocumentBuilder;import javax.xml.pa...
2019-05-29 22:14:43
118
原创 ES学习笔记
端口说明:es启动监听两个端口,9300和9200 9300端口: ES节点之间通讯使用 9200端口: ES节点 和 外部 通讯使用 9300是tcp通讯端口,集群间和TCPClient都走的它;9200是http协议的RESTful接口...
2019-05-05 11:24:44
152
原创 继承关系导致类加载顺序
问题:微信认证在WeixinPayController中定义变量时,赋的值是实在InitController中读取配置文件获取的,会造成有时候读不到配置文件的数据?原因:这是由于controller的加载顺序导致的,首先是WeixinPayController的类继承关系为WeixinPayController-->AbsAuthController-->BaseMccCon...
2019-04-16 20:51:20
214
原创 Token机制简单理解
什么是tokentoken的意思是“令牌”,是服务端生成的一串字符串,作为客户端进行请求的一个标识。当用户第一次登录后,服务器生成一个token并将此token返回给客户端,以后客户端只需带上这个token前来请求数据即可,无需再次带上用户名和密码。简单token的组成;uid(用户唯一的身份标识)、time(当前时间的时间戳)、sign(签名,token的前几位以哈希算法压缩成的一定...
2019-04-04 11:03:55
1184
原创 Greys用法
Greys是一个JVM进程执行过程中的异常诊断工具。 在不中断程序执行(不重启服务)的情况下轻松完成JVM相关问题排查工作。安装和启动下载greys脚本:curl -sLk http://ompc.oss.aliyuncs.com/greys/install.sh|sh启动脚本:./greys.sh pid如何获取pid:ps -ef|grep java 然后从输出中找到...
2019-04-03 16:52:54
246
原创 浅谈 Nginx 服务器的内部核心架构设计
一、前言Nginx---Ngine X,是一款免费的、自由的、开源的、高性能HTTP服务器和反向代理服务器;也是一个IMAP、POP3、SMTP代理服务器;Nginx以其高性能、稳定性、丰富的功能、简单的配置和低资源消耗而闻名。也就是说Nginx本身就可以托管网站(类似于Tomcat一样),进行Http服务处理,也可以作为反向代理服务器 、负载均衡器和HTTP缓存。Nginx 解决...
2019-03-27 10:04:09
134
原创 如何防止重复提交
用户在连续点击两次提交按钮时,如果不做任何措施,数据中会存在两条数据。解决方案:在插入数据库时做校验。在代码中插入数据库的部分上一个分布式的锁,用redis做为锁的对象,上锁之后,做判断,短短规则是从数据库里面查一条数据,如果数据不存在,则插入,在数据库中会生成一条id。如果存在(第二条数据的插入),取出这条数据,做更新。这样就可以解决重复插入的问题。存在问题:分不清楚是重复提交还是用户的...
2019-03-14 10:30:48
1663
原创 IDEA骚操作
var声明null判空notnull判非空nn判非空for遍历fori带索引遍历not取反if条件判断cast强转return返回值
2019-03-13 09:31:43
1118
原创 job quartz demo
项目结构:maven依赖:<dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.3.0</version></depende
2019-03-11 09:50:06
123
原创 自己动手实现springmvc
IOC功能:就是一个hashmap里面放着各种类,俗称beanTomcat:tomcat启动时将需要要用到的类放到IOC容器里面去,就是那些带注解的(Controller,Autowired,Service,RequestMapping)注解:就是自己定义几个注解,包括什么时候用(在tomcat启动时)本节内容有一小部分内容没有实现,对于spring和springmvc源码有个大概了解...
2018-11-06 15:17:44
238
原创 DP动态规划
https://www.cnblogs.com/wuyuegb2312/p/3281264.html#q3a1硬币找零假设有几种硬币,如1、3、5,并且数量无限。请找出能够组成某个数目的找零所使用最少的硬币数动态规划的基本思想是将待求解问题分解成若干个子问题,先求解子问题,并将这些子问题的解保存起来,如果以后在求解较大子问题的时候需要用到这些子问题的解,就可以直接取出这些已经计算过的解...
2018-10-04 15:46:04
844
1
原创 动态代理
stu要交班费,有代理带条stu交班费Person接口,定义通用的方法,交班费package designpattern.dynamicproxy;public interface Person { //上交班费 public void giveMoney();}Student类,实现Person接口的方法package designpattern.dynamic...
2018-10-03 14:48:37
156
原创 动态代理在aop中的应用
JDK动态代理在aop中的原理目标类:接口+实现类 切面类:用于存通知MyAspect 工厂类:编写工厂生成代理目标类:package designpattern.aopproxy;public interface UserService { public void addUser(); public void updateUser(); public void d...
2018-10-02 20:58:39
246
原创 代理模式
gg想追求mm,gg送礼物给mm,通过代理将礼物送给mm,mm并不知道gg是谁,但是却能通过代理接收gg送来的礼物设计接口,gg和代理类都需要实现的方法package designpattern.proxy;//追求这和代理类都需要实现的方法public interface IGiveGift { public void giveDolls(); public void gi...
2018-10-02 17:49:05
353
1
原创 简单实现RPC(02)
接口和实现类package cm.zhangjinhe.server;public interface helloService { String sayHello(String str);}package cm.zhangjinhe.server;public class helloServiceImpl implements helloService{ ...
2018-09-05 23:25:53
159
原创 基于TCP实现的最简单的RPC demo
1.RPC远程过程调用2.demo服务接口类:SayHelloService.javapackage com.caicongyang.server; /** * * <p> * Title: SayHelloService.java * Package com.caicongyang.server * </p> * <p>...
2018-09-05 16:25:45
177
原创 Linux解压文件到指定目录
Linux解压文件到指定目录tar在Linux上是常用的打包、压缩、加压缩工具,他的参数很多,折里仅仅列举常用的压缩与解压缩参数参数:-c :create 建立压缩档案的参数;-x : 解压缩压缩档案的参数;-z : 是否需要用gzip压缩;-v: 压缩的过程中显示档案;-f: 置顶文档名,在f后面立即接文件名,不能再加参数举例: 一,将整个/home/www/images ...
2018-09-04 18:07:17
487
原创 Linux下nginx安装与配置
部分Linux发布版的默认安装已经集成了nginx,查看方法ls /usr/local,若已有nginx文件夹说明已集成。 nginx依赖库pcre与zlib,且pcre依赖于gcc与gcc-c++,因此安装步骤为:安装gcc与gcc-c++库 安装pcre库 安装zlib库 安装nginx详细安装过程1. 安装gcc与gcc-c++yum install gcc gcc-c...
2018-09-04 10:48:43
127
原创 Nginx代理概述
一.正向代理一般情况下,如果没有特别说明,代理技术默认说的是正向代理。关于正向代理的概念如下:正向代理是一个位于客户端【用户A】和原始服务器【服务器B】质检的服务器【代理服务器C】,为了从原始服务器取得内容,用户A向代理服务器Z发送一个请求并制定目标(服务器B),然后代理服务器Z想服务器B转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。如下图1.1(...
2018-09-03 17:33:08
275
原创 面试题
java泛型解决了什么问题 集合类优缺点,底层怎么实现的,底层优缺点 mybaits与habrit去呗 springmvc模式,过程 mvc模式都有啥 aop都用过啥,aop都解决了啥(事务,打印日志) ioc与di区别去联系 arraylist和linkedlist应用场景 多线程 堆和栈应用场景 js闭包啊,跨域啊 linux命令,改变用户权限,改变当前用户 hadoop
2017-11-14 18:57:37
144
原创 从100亿条记录的文本文件中取出重复数最多的前10条
场景哈希分治法 这是一个 ip 地址 127.0.0.1 假设有100亿个这样的 ip 地址存在文件中 这个文件大小大约是 100GB 问题:要统计出100亿个 ip 中,重复出现次数最多的前10个分析100GB 几乎不可能一次加载进内存进行操作,所以必须要拆分 那么可以利用分治的思想,把规模大的问题化小,然后解决各个小的问题,最后得出结果。实现思路ipv4 地址是一个 32 位的整数,
2017-11-03 10:04:24
11020
1
原创 求小球弹起高度
假设一个球从任意高度自由落下,每次落地后反跳回原高度的一半; 再落下, 求它在第5次落地时,共经历多少米?第5次反弹多高? /** * 统计出第5次落地时,共经过多少米? * * @param high 球的起始高度 * @return 英文字母的个数 */public static double getJourney(int high){ return 0;}/** *
2017-10-24 21:28:53
920
原创 有一只兔子,从出生后第3个月起每个月都生一只兔子,小兔子长到第三个月后每个月又生一只兔子,假如兔子都不死,问每个月的兔子总数为多少?
这是一道斐波拉契数列题目,很自然会想到使用递归f(n)=f(n-1)+f(n-2),但是使用递归的方式 会导致很多重复计算,因此,可以用第二种方法:用组数保存已经计算过的数值,当后面计算需 要使用前面的值时,可以直接从数组内取,方法如下:package com.neu.test12;import java.util.Scanner;public class 统计兔子数 { public s
2017-10-24 20:49:56
5509
原创 从1900年1月1日(星期一),开始经过的n年当中,没个月的13号这一天是星期一,星期二,星期三...星期日的次数分别是多少
输入1,输出1,3,1,2,2,2,1package com.neu.test13;import java.util.Scanner;public class test04 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = Integer
2017-10-23 21:50:54
4935
原创 求最大回文子串(马拉车算法)
这是正常的马拉车算法import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); while (in.hasNextLine()) { String s = in.n
2017-10-22 19:15:36
327
原创 动态规划求递增子序列
package com.neu.test12;import java.util.Scanner;public class test34 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = Integer.parseInt(sc.nextLi
2017-10-17 10:50:00
240
原创 01背包问题
public class test26 { public static void main(String[] args) { int m = 10; int n = 3; int[] w = {0, 3, 4, 5 }; int[] p = {0, 4, 5, 6 }; int c[][] = BackPack_So
2017-10-15 15:21:55
149
原创 快速排序
public class 快排 {public static void main(String[] args) { int numbers[] = {10,20,15,0,6,7,2,1,-5,55}; quickSort(numbers, 0, numbers.length - 1); for (int i = 0; i < numbers.length; i++) {
2017-10-13 23:12:14
138
原创 java.util.ConcurrentModificationException详解
经常在迭代集合元素时,会想对集合做修改(add/remove)操作,类似下面这段代码: for (Iterator it = list.iterator(); it.hasNext(); ) { Integer val = it.next(); if (val == 5) { list.remove(val); } } 运行这段代码,会抛出异常j
2017-10-12 09:56:15
220
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人