命令模式
摘要:Command Patterns GoF定义:将请求作为一个对象来处理。使得可以使用不同的请求、队列或者日志请求来参数化客户端。并且支持撤销操作。 概念 通常,四个概念是相互关联的 command object:在接收端可以调用某个特定的方法,它保存着可以调用receiver方法的参数 invoke
阅读全文
posted @
2020-11-30 20:03
老鼠不上树
阅读(79)
推荐(0)
Shiro初探
摘要:摘自Application Security With Apache Shiro,这也是Shiro项目官网的介绍链接 什么是Apache Shiro? Shiro是个安全框架,主要功能包括认证、授权、加密和session管理。 应用安全的四大基石(Shiro发力的方向) 认证(authenticat
阅读全文
posted @
2020-11-30 17:04
老鼠不上树
阅读(163)
推荐(0)
适配器模式
摘要:Adapter Patterns GoF定义:将一个类的接口转换为客户端接受的另一个接口。这个模式让接口不兼容的类也能正常工作 概念 最好的说明这个模式的方式就是例子(【滑稽】) 例子 现实世界:手机充电器为例,如果没有支持这个充电器的插板,那么可以使用适配器来辅助充电。翻译工作也算是这个模式的一个
阅读全文
posted @
2020-11-29 17:08
老鼠不上树
阅读(90)
推荐(0)
策略模式
摘要:Strategy Patterns(Policy Patterns) GoF定义:定义一系列算法,将每一个都封装起来,让它们可以互相替换。这个模式让算法在客户端之间保持独立性 概念 我们可以在运行时(runtime)动态选择算法的行为 例子 现实世界:在一场足球比赛中,如果A领先B 1:0,那么对于
阅读全文
posted @
2020-11-28 18:03
老鼠不上树
阅读(79)
推荐(0)
模板方法模式
摘要:Template Method Patterns Gof定义:把某个操作中的算法骨架定义好,将一些步骤下放到一些子类。模板方法模式允许在不改变算法结构的前提下让子类来重新定义一个算法的某些步骤 概念 在模板方法中,定义一个算法的最精简且最重要(essential)的结构,然后将一些功能放在子类去实现
阅读全文
posted @
2020-11-27 17:03
老鼠不上树
阅读(59)
推荐(0)
装饰器模式
摘要:Decorator Pattern(装饰器模式) GoF定义:为一个对象动态添加额外的功能。代替继承的一种扩展功能的机制 概念 这个设计模式的核心是我们不能修改已有的功能,但是我们能扩展它的功能。即对修改闭合而对扩展开放。这种模式应用于我们想给一些特定对象增加功能,但是不想修改整个类 例子 现实世界
阅读全文
posted @
2020-11-26 23:25
老鼠不上树
阅读(65)
推荐(0)
Java语法--日期和时间的API
摘要:The Date and Time API 《Java Core》ed.11 读书笔记 Java1.0有了Date类(native方式)来处理时间相关 Java1.1有了Calendar类(不完美,实例是可变的(mutable),无法处理润秒(leap second)),Date类中的大部分方法在这
阅读全文
posted @
2020-11-26 14:46
老鼠不上树
阅读(259)
推荐(0)
代理者模式(Proxy pattern)
摘要:Proxy pattern GoF定义:为另一个对象提供一个代理(对象)来控制对这个对象的访问 概念 我们想让一个类中的操作来作为操作其它东西的接口 例子 现实世界:一个班级中,有一个同学不在,点名的时候,他的好朋友代替他答到,假装他在 代码世界:一个银行的ATM实现,真实的银行信息可能会存在远端服
阅读全文
posted @
2020-11-25 18:15
老鼠不上树
阅读(256)
推荐(0)
Java语法--集合
摘要:集合 《Java Core》学习笔记。集合这部分记录一下背后的数据结构实现,API随用随查即可 Java集合框架(framework) Java最开始的发行版本中,集合只有Vector, Stack, Hashtable, BitSet,并提供了Enumeration接口以供遍历集合(容器)中的内容
阅读全文
posted @
2020-11-25 17:47
老鼠不上树
阅读(103)
推荐(0)
Java语法--多线程
摘要:多线程 多线程程序扩展了多任务处理的概念,但是它的层级更低:即一个独立的程序看起来像是在同一时间执行多个任务,每个任务在一个独立的线程中运行 多线程和多进程的区别,核心区别是每个进程拥有完全的变量集,而线程共享相同的数据(这里应该是简化概念了)。共享变量有一些危险(后续详解)。但是它让线程之间的通信
阅读全文
posted @
2020-11-25 10:59
老鼠不上树
阅读(151)
推荐(0)
单例模式
摘要:单例模式 GoF定义:保证一个类只有一个对象,并且提供一个全局的访问点 概念 一个特别的类只有一个实例,无论什么时候使用都是这同一个实例 例子 现实生活:假设有两个板球队伍在比赛,赛前两队的队长要投币决定哪方先击球,此时每个队的队长只能有一个,如果原来没有,那么要新选出一个队长 代码世界:代码只在一
阅读全文
posted @
2020-11-24 18:15
老鼠不上树
阅读(112)
推荐(0)
观察者模式
摘要:观察者模式 在对象之间定义一个一对多的关系,因此当一个对象状态改变,其它的关联对象(依赖它的)都被通知并且可以自动更新 概念 在这个模式中,存在很多观察者,它们在观察着同一个主题(对象)。当这个主题发生了改变,这些观察者希望被通知。因此,它们将自己注册到被观察的主题上,当它们不再对这个主题感兴趣,只
阅读全文
posted @
2020-11-23 18:33
老鼠不上树
阅读(92)
推荐(0)
java语法--网络
摘要:网络 依旧是《Java Core》ed.11 ed的学习笔记 连接到一个服务器 使用Telnet telnet是网络编程中很好用的debug工具 服务器端的软件在远程机器上持续运行,等待客户端发起对某个端口号(服务)的请求。当它接收到这个请求之后,会唤醒监听此端口的服务,然后建立连接,直到连接双方有
阅读全文
posted @
2020-11-21 15:38
老鼠不上树
阅读(130)
推荐(0)
Java网络编程--简单的客户端与服务端交互
摘要:一个Socket初级应用的例子 这里写一个用socket模拟的服务端-客户端文字交互的小程序。Java网络编程会再开一文(依旧是《Java Core》学习笔记) 代码 服务器端代码 这里我为了让服务端可以接收多个客户端请求,所以服务端的处理代码写在线程中 class Server implement
阅读全文
posted @
2020-11-20 18:17
老鼠不上树
阅读(282)
推荐(0)
Java语法--输入输出
摘要:Input & Output 《Java Core》ed.11 学习笔记 最重要的事情:输入和输出都是相对于CPU来说的,输入是把数据输入给CPU,输出是CPU把数据输出到别的地方 Input/Output Streams JavaAPI中,从input stream对象中读取字节序列,向outpu
阅读全文
posted @
2020-11-19 18:38
老鼠不上树
阅读(583)
推荐(0)
事务隔离级别--MySQL为例
摘要:事务 定义 摘自 Wiki--database transaction 数据库事务的定义:它象征着在数据库管理系统中运行的一个工作单元(a unit of work),以一种可靠的、一致的方式来相对于其它的事务保持独立。一个事务通常代表数据库中的任何变化(增删改)。数据库环境中的事务有两个主要目的:
阅读全文
posted @
2020-11-18 16:22
老鼠不上树
阅读(101)
推荐(0)
读阿里的《开发手册》的一些记录
摘要:序 之前的所谓代码规范大部分是根据语言书的一些默认规则,我感觉基本就是习惯问题,不要太离谱即可。现在也做了一些项目,对规范的东西感触更深,好看好读的代码才是好代码。虽然阿里的开发手册不能说适用于业界所有Java项目,但是实际上来说,阿里现在的Java技术积累已经是很强了,这些开发者愿意来做这件事也是
阅读全文
posted @
2020-11-18 14:22
老鼠不上树
阅读(598)
推荐(0)
java中的悲观锁和乐观锁
摘要:里面核心内容摘自 什么是乐观锁,什么是悲观锁 作者:bootaiRocketQ 链接:https://www.jianshu.com/p/d2ac26ca6525 来源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 悲观锁和乐观锁的概念 悲观锁和乐观锁只是一种并发控制的
阅读全文
posted @
2020-11-18 11:57
老鼠不上树
阅读(270)
推荐(0)
Java语法--泛型
摘要:泛型 《Java Core》ed.11 学习笔记 为什么使用泛型 泛型编程的意义就在于写不同类型的对象都可以复用的代码,例如ArrayList可以接受所有类型的对象(实际上Java在有泛型之前就有了ArrayList类) 类型参数的优点 以ArrayList为例,在没有泛型之前 class Arra
阅读全文
posted @
2020-11-17 17:06
老鼠不上树
阅读(270)
推荐(0)
Mysql 5.7.23忘记了密码怎么修改
摘要:问题描述 自己机器上的mysql很久不用就会出现忘密码的情况。改密码这种事情就是搞过了忘,忘了还会出现这种情况。还是记一下吧 摘自Mysql官方文档:https://dev.mysql.com/doc/mysql-windows-excerpt/5.7/en/resetting-permission
阅读全文
posted @
2020-11-16 10:01
老鼠不上树
阅读(79)
推荐(0)
Java语法--接口
摘要:接口(interface) 学习《Java Core》ed.11 读书笔记 概念 Java语言中,接口不是一个类,而是对于要实现这个接口的类的一系列要求(requirements)。如果要实现这个接口,那么其中要求的所有方法都要实现。接口中所有的方法都自动改为public的 接口可以定义常量(sta
阅读全文
posted @
2020-11-14 17:26
老鼠不上树
阅读(192)
推荐(0)
算法题目--知识盲区记录一下
摘要:兔子生兔子 问题描述:一对兔子每个月生一对兔子,新兔子在第四个月开始生兔子,以此类推,在24个月之后有多少只兔子 问题分析:第一个月(1对老+1对新),第二个月(1对老+2对新),第三个月(1对老+3对新),第四个月(1对老+(1对老+4对新)),第5个月(1对老+(1对老+(1对老6对新))。三个
阅读全文
posted @
2020-11-14 11:35
老鼠不上树
阅读(121)
推荐(0)
排序算法--Java实现
摘要:排序算法 其中的代码如果有问题或者有更好的解法,望各位不吝赐教! 冒泡排序 原理:以一个整数数组为例,排序核心是每次比较相邻两个元素的大小,这样一次循环可以将一个最大或最小的元素放到数组头或数组尾,直到没有元素被移动算法结束 步骤(按从小到大排序): 遍历数组,比较相邻两个元素,如果prev>nex
阅读全文
posted @
2020-11-14 10:07
老鼠不上树
阅读(74)
推荐(0)
Java-Lambda表达式
摘要:摘自--《Java Core》 ed.11 6.2 Lambda Expressions In the following sections, you will learn how to use lambda expressions for defining blocks of code with
阅读全文
posted @
2020-11-13 11:34
老鼠不上树
阅读(417)
推荐(0)
Java中的深拷贝和浅拷贝
摘要:摘自《Java Core》 ed.11 In this section, we discuss the Cloneable interface that indicates that a class has provided a safe clone method. Since cloning is
阅读全文
posted @
2020-11-12 16:00
老鼠不上树
阅读(123)
推荐(0)
原码,反码,补码
摘要:之前对计算机表示数据的方式一直很含糊。这次通过一篇外网的blog来重新理解一下 --摘自https://developpaper.com/on-the-primitive-code-inverse-code-complement-code-and-shift-code-of-operating-sy
阅读全文
posted @
2020-11-12 10:25
老鼠不上树
阅读(408)
推荐(0)
理解Java中的char类型
摘要:摘自《Java Core》ed 11 To fully understand the char type, you have to know about the Unicode encoding scheme. Unicode was invented to overcome the limitat
阅读全文
posted @
2020-11-11 09:13
老鼠不上树
阅读(227)
推荐(0)
JDK源码阅读(1)- String
摘要:String概述 在Java程序中所有的字符串字面量都是String类的一个实例 String是常量;它的值在它被创建之后不能改变 String可以通过字符数组来创建 char[] chars = {'a', 'b', 'c'}; String str = new String(chars); St
阅读全文
posted @
2020-11-10 16:05
老鼠不上树
阅读(76)
推荐(0)