![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
陈之之爱编程
这个号用来记笔记的
展开
-
一立方商城笔记
分布式需要20台服务器做tomcat集群。当tomcat集群中节点数量增加,服务能力先增加后下降。所以集群中节点数量不能太多,一般也就5个左右。需要按照功能点把系统拆分,拆分成独立的功能。单独为某一个节点添加服务器。需要系统之间配合才能完成整个业务逻辑。叫做分布式SOASOA:Service Oriented Architecture面向服务的架构。也就是把工程拆分成服务层、表...原创 2020-01-30 22:27:17 · 151 阅读 · 0 评论 -
Timer定时
https://blog.csdn.net/hl_java/article/details/79035237定时的几种实现;https://my.oschina.net/epoch/blog/1798410Timer timer = new Timer();timer.schedule(new TimerTask() { public void run() { ...转载 2020-01-10 15:55:01 · 97 阅读 · 0 评论 -
操作
数据库改大写:ctrl+shift+u原创 2020-01-10 14:04:28 · 86 阅读 · 0 评论 -
计算机网络
网线、网卡、wifi?电磁波在信道中传播,传播速度接近光速ISP互联网服务提供商 ISP 可以从互联网管理机构获得许多 IP 地址,同时拥有通信线路以及路由器等联网设备,个人或机构向 ISP 缴纳一定的费用就可以接入互联网1. 电路交换电路交换用于电话通信系统,两个用户要通信之前需要建立一条专用的物理链路,并且在整个通信过程中始终占用该链路。由于通信的过程中不可能一直在使...原创 2019-12-25 18:03:44 · 148 阅读 · 1 评论 -
docker
docker:安装配置好的环境仓库: 别人做好的现成的镜像,都放在仓库里镜像: 自己要用哪个镜像,就先拉到本地来。镜像就相当于还没激活的容器。容器: 容器就是跑起来的镜像,就是一个完整的工作环境...原创 2019-12-25 15:58:47 · 65 阅读 · 0 评论 -
shiro
1.web.xml:配置applicationContext-shiro.xml,shiro过滤器2.application-shiro.xml:配置路径需要的权限,anon表示不需要权限,auhic要登陆验证3.springmvc配置shiro,4.在controller上用@RequireRole表示某个方法必须有相关角色才能访问@RequiresRoles("admin")...原创 2019-12-25 15:46:13 · 73 阅读 · 0 评论 -
quartz定时器
用于定时做某些任务https://how2j.cn/k/quartz/quartz-start/1707.html#nowhere触发器Trigger任务Job调度器Schedulermailgroup就是分组的意思。比如一个系统有3个job 是备份数据库的,有4个job 是发邮件的,那么对他们进行分组,可以方便管理,类似于一次性停止所有发邮件的这样的操作....原创 2019-12-25 15:10:34 · 100 阅读 · 0 评论 -
es搜索引擎
@Document加载pojo,表明要连接到es哪个索引哪个typecontroller里用SearchQuery原创 2019-12-25 14:51:12 · 132 阅读 · 0 评论 -
websocket
https://how2j.cn/k/websocket/websocket-develop/1628.html1.导jar包2.@ServerEndpoint("/ws/bitcoinServer")把它标记为一个WebSocket Server创建类:OnOpen表示有浏览器链接过来的时候被调用OnClose表示浏览器发出关闭请求的时候被调用OnMessage表示浏览器发...原创 2019-12-25 11:06:13 · 147 阅读 · 0 评论 -
前后端分离
前后端分离:前后端直接传json字符串前端组件onclick或触发,ajax发请求,发json数据data给后端(把组件的字符串放到新建的json对象里,转化为字符串传data过去)Servlet:后端getparameter(data)获取数据字符串,转化为json对象,再转化为pojo对象处理,返回model里值给前端,前端$()显示SpringMVC后端:getPatamete...原创 2019-12-18 11:25:22 · 102 阅读 · 0 评论 -
学习经验总结
学习方法1,先搞懂理论:是什么、用来干嘛的2,再搞懂代码:在工作中最常用的用法是什么,怎么写3,其他用法、做相关项目注意一定要分清楚什么是重点?能让你更好完成工作任务(快、少Bug)的就是学习的重点根据这个需求(工作better、适应市场、下一份工作more money)再去选择学的东西,不要跟风随便学其实所有的技术都不是很难、很多很掏粪、没必要瞎几把学不要畏惧,...原创 2019-12-02 14:57:26 · 96 阅读 · 0 评论 -
SSM配置
一个ssm项目、不用maven、springboot的步骤1,创建项目idea:java enterprise-web2,导入需要的jar包file-project-structure里加librariesspring(包括springmvc) mybatis mybatis-spring整合包 数据库驱动 第三方连接池。 Json依赖包Jackson3,配置:...原创 2019-12-02 16:00:10 · 102 阅读 · 0 评论 -
SpringMVC原理
https://github.com/Snailclimb/JavaGuide/blob/master/docs/system-design/framework/spring/SpringMVC-Principle.md核心:DispatcherServletSpringMVC 工作原理(重要)简单来说:客户端发送请求-> 前端控制器 DispatcherServlet...原创 2019-11-25 22:51:53 · 133 阅读 · 0 评论 -
HashMap
https://baijiahao.baidu.com/s?id=1618550070727689060&wfr=spider&for=pcPut过程1、对Key求Hash值,然后再计算下标2、如果没有碰撞,直接放入桶中(碰撞的意思是计算得到的Hash值相同,需要放到同一个bucket中)3、如果碰撞了,以链表的方式链接到后面4、如果链表长度超过阀值...原创 2019-11-25 22:26:36 · 61 阅读 · 0 评论 -
消息队列
消息队列:1秒10万个请求,数据库处理不来处理不了的请求,放到另一个程序里,等请求处理完了有时间了,从程序里拿请求,开始处理这个程序就是消息队列:要保证可靠性,数据不错,队列不崩好处:异步类似发邮件异步消息队列作用:解耦:跑在另外的程序,甚至跑在另外单独的服务器上异步削峰发布-订阅?几台服务器发布:消息推到队列里订阅:小弟领了队列里的消息,新活使用...原创 2019-11-21 13:16:22 · 67 阅读 · 0 评论 -
端口
客户端可以通过ip地址找到对应的服务器端,但是服务器端是有很多端口的,每个应用程序对应一个端口号一台计算机上可以同时提供很多个服务,如数据库服务、FTP服务、Web服务等,我们就通过端口号来区别相同计算机所提供的这些不同的服务,如常见的端口号21表示的是FP服务,端口号23表示的是Telnet服务端口号25指的是SMTP服务等。端口号一般习惯为4位整数,在同一台计算机上端口号不能重复,否则,就...原创 2019-11-21 13:05:54 · 129 阅读 · 0 评论 -
代理
https://blog.csdn.net/briblue/article/details/73928350接口A,代理类B,真正实现接口方法的类CB和C都实现接口A静态代理:代理类B中定义C属性,调用C的方法,从而实现方法动态代理:有很多个真正实现接口方法的不同的类C,D,E代理类中:通过反射,获取真正实现接口的类,并调用不同的接口实现方法,从而实现方法...原创 2019-11-17 23:04:46 · 59 阅读 · 0 评论 -
注解
https://blog.csdn.net/shengzhu1/article/details/81271409创建注解注解 的使用范例:我要写一个测试框架,测试程序员的代码有无明显的异常。—— 程序员 A : 我写了一个类,它的名字叫做 NoBug,因为它所有的方法都没有错误。—— 我:自信是好事,不过为了防止意外,让我测试一下如何?—— 程序员 A: 怎么测...原创 2019-11-17 22:36:03 · 121 阅读 · 0 评论 -
Redis
https://github.com/Snailclimb/JavaGuide/blob/master/docs/database/Redis/Redis.md#redis-%E7%AE%80%E4%BB%8B概念用nginx的时候也要用到redis存储用户信息之类的Redis就像是一个HashMap,不过不是在JVM中运行,而是以一个独立进程的形式运行。5大类型:String、...原创 2019-11-17 19:25:32 · 104 阅读 · 0 评论 -
正则表达式
^[0-9]{5}$,5个0-9的数字^[0-9]{6,16}$,6-16位个0-9的数字[选一个]{修饰前一个}?:{0,1}*:任意次+:至少一次不加符号:写什么匹配什么原创 2019-11-17 18:53:28 · 301 阅读 · 0 评论 -
Servlet
servlet extends HttpServletdoGet(request,response),doPostweb.xml中配<servlet><servlet-mapping>原创 2019-11-17 18:19:55 · 59 阅读 · 0 评论 -
前端
CSSz-index覆盖关系displayfloat,居中:matgin: 0 autoposition:absolute,fixed,relative,static,inheritJSonchange,onfocus,onblur等JQuery$().attr().val().text().html().css()show()\hi...原创 2019-11-17 18:18:59 · 79 阅读 · 0 评论 -
类加载
https://blog.csdn.net/m0_38075425/article/details/81627349原创 2019-11-14 14:43:39 · 96 阅读 · 0 评论 -
垃圾回收
https://blog.csdn.net/weixin_39067991/article/details/81045201(很全)垃圾回收:函数中new了对象,对象存在堆里,函数不用了,对象不用了,怎么回收?早期策略:引用计数,判断每个对象被引用的个数如 A a1=new A()A a2 = new A()A a3= a1;计数3,函数结束后,a1,a2,a3销毁,计数-1,...原创 2019-11-14 11:39:18 · 74 阅读 · 0 评论 -
多线程
守护线程https://www.cnblogs.com/baizhanshi/p/8289202.html(守护线程)例如垃圾回收,用来服务其他线程的,当程序中只剩守护线程的时候,JVM会自动结束。多线程implements runnable接口Thread t = new Thread(o),o是实现了runnable接口的类的对象,有run方法t.start()...原创 2019-11-14 11:05:01 · 78 阅读 · 0 评论 -
操作系统
操作系统:任务调度、内存管理、驱动程序、文件系统早期电脑:一个电脑上只能跑一个程序,这个程序可以访问所有物理硬件最小的电脑:CPU+内存(算东西的+大数组)第一个跑的:操作系统操作系统:1.内存控件虚拟化2.cpu虚拟化线程:共享内存空间,容易通信和进程区别就在于:共享内存空间多核:一个核就相当于一个小电脑不同程序相当于在不同电脑上线程池:因为创建...原创 2019-11-14 10:41:20 · 62 阅读 · 0 评论 -
网络安全【未完成】
常见的网络漏洞1.sql注入,防范(preparedStatement,用#而不是用$)2.csrf跨站请求伪造(cross-site request forgery)访问别的网站的时候,打开的时候自动往我的网站上发请求,篡改我的数据、如<img src = "某个请求">微博自动关注/发微博:伪造请求篡改知乎:点击外网,模拟知乎的请求并发送一个网站一个cooki...原创 2019-11-14 00:09:37 · 147 阅读 · 0 评论 -
时间复杂度、数据结构
时间复杂度空间复杂度:占用内存的多少时间复杂度:算法运行时间随着数据规模的增长而增长的幅度多少次的项常数不管N为输入规模o(1):若对于一个算法的上界与输入大小无关,则称其具有常数时间字典和集合的存取时间是数组的存取链表的删除、插入o(logN):有序数组二分法查找,常见的具有对数时间的算法有二叉树的相关操作和二分搜索。o(N):取数组所有的和、数...原创 2019-11-14 00:08:16 · 106 阅读 · 0 评论 -
AOP、过滤器、拦截器
AOP:最常用来身份校验、打日志、也可以写xml里,但是建议写在java里@Aspect@Component@Before:执行前@Around:执行前,执行后同时匹配两个,||执行某个函数前后、做一些事// 会被注册成切面,这样方法才会在事件发生的时候执行@Aspect// 自动注册成 spring bean,这样 spring 就能认得出这个类@Compone...原创 2019-11-14 00:00:13 · 137 阅读 · 0 评论 -
SSM框架[未完成]
关于注解:@Service@Repository,@Mapper@Controller,@GetMapping,@PostMapping@Aspect,@Component插入数据,包括自增的id<insert id="insert" useGeneratedKeys="true" keyProperty="id"> INSERT INTO ...原创 2019-11-13 23:59:03 · 77 阅读 · 0 评论 -
Gradle与Maven[未完成]
gradle的使用:A.解压zip,配置环境变量到gradle地址,在项目里创建build.gradle,输入 apply plugin: ‘java’,并执行命令:gradle build代码中使用?打包在项目里运行使用?Gradle1.下载2.配环境变量3.建Gradle项目4.可打包成war5.gradle配置文件里配置Mavenma...原创 2019-11-13 23:54:44 · 60 阅读 · 0 评论 -
Idea Git 版本管理[未完成]
merge?分支?https://blog.csdn.net/hc_ttxs/article/details/79267710https://www.jb51.net/article/135583.htmgit clone:将远程的Master分支代码克隆到本地仓库 git checkout:切出分支出来开发 git add:将文件加入库跟踪区 git commit:将库跟...原创 2019-11-13 23:47:20 · 105 阅读 · 0 评论 -
Linux[未完成]
- 为什么服务器多用 Linux? - 免费 - Linux 生态圈更好- Linux 的各种版本分析 - Debian 最稳定 - Ubuntu 抄的 debian, 用途广泛, 用户多 18.04 - CentOS 垃圾 - redhat快捷键------- line editing- tab 自动补全- C+p 上一条命令...原创 2019-11-13 14:19:29 · 77 阅读 · 0 评论 -
tomcat、ngix部署服务器
服务器上处理请求三大流程1. 接受请求2. 处理请求3. 发送响应spring mvc 框架这块我们自己写的部分, 都是在处理请求spring boot 会内置一个服务器, 叫做 Tomcat, 来做处理请求和发送响应的事情浏览器发送请求 -> tomcat 服务器 -> Servlet -> spring mvc 框架里面的代码浏览器发送请求 ...原创 2019-11-12 13:41:54 · 151 阅读 · 0 评论 -
一对多
一对多:1,在一的model里定义ArrayList<多的对象>2,在service里写方法:根据一的id或其他,查询出所有的多的list,赋值一的对象的属性值为多的List如:一的bean:public class TopicModel { private Integer id; private String title; private S...原创 2019-11-12 01:26:55 · 261 阅读 · 0 评论 -
数据库[未完成]
数据类型text:更大的类型 枚举类型:ENUM('admin','guest','normal') date是年月日:YYYY-MM-DD datetime是年月日 时分秒:YYYY-MM-DD HH:MM:SS 联表查询mysql联表查询较oracle慢用On定义表与表之间关系, 等价于 inner join 等价于 join :不符合条件的数据不显示 l...原创 2019-11-12 00:55:04 · 59 阅读 · 0 评论 -
上传文件
<body><form method="POST" action="/upload" enctype="multipart/form-data"> <input type="file" name="file" /> <br> <button>上传</button></form>...原创 2019-11-11 13:51:14 · 97 阅读 · 0 评论 -
事务
Mysql事务:要显式地开启一个事务务须使用命令 BEGIN 或 START TRANSACTION,或者执行命令 SET AUTOCOMMIT=0,用来禁止使用当前会话的自动提交。用 BEGIN, ROLLBACK, COMMIT来实现BEGIN、start transaction 开始一个事务 ROLLBACK事务回滚:回滚到事务开始前 COMMIT事务确认sta...原创 2019-11-11 13:44:16 · 222 阅读 · 0 评论 -
spring里发邮件到邮箱的实现
注意,使用的是qq邮箱,qq邮箱-设置-账户里的协议要开启!application.properties:# 邮件 smtp 设置spring.mail.username=你的邮箱# 如果用 QQ 邮箱, 就用下面的 hostspring.mail.host=smtp.qq.comspring.mail.password=你的密码spring.mail.port=465spr...原创 2019-11-08 00:10:15 · 184 阅读 · 0 评论 -
MD5生成摘要的代码实现
public static String hexFromBytes(byte[] array) { String hex = new BigInteger(1, array).toString(16); int zeroLength = array.length * 2 - hex.length(); for (int i = 0; i ...原创 2019-11-07 13:09:05 · 171 阅读 · 0 评论