- 博客(47)
- 收藏
- 关注
原创 五种构建型设计模式
以我现在的水平理解设计模式,就是为了可复用、可扩展,设计模式 六原则:1.开闭原则:拉出的屎不能吸回去(不能改原则),可以拉新的屎(扩展)2.单一职责:一个类只做一件事,一个引起它修改的原因。3.里氏替换原则:子类可以完全替换父类,在使用继承时,只扩展新功能,而不要破坏父类原有的功能。4.依赖倒置原则:细节依赖于抽象,抽象不依赖于细节。5.迪米特法则:最少知识原则,只和朋友...
2019-12-16 22:28:08
348
原创 学习位操作
计算机中所有数据都是以二进制的形式储存的,运算直接对在内存中的二进制数据进行操作,因此处理数据的速度非常快。位操作只能用于整形数据,对float和double类型进行位操作会被编译器报错。计算机底层保存的是补码,正数的原码等于补码&:上下两位都是1是,结果为1|:上下两位有一个是1,结果为1当表示状态时,会用特定的数表示开关,比如文本四个状态:粗体(1)、斜...
2019-12-04 20:49:41
279
原创 复习栈和队列
Stack类:栈类 过时 public class Stack<E> extends Vector<E>Queue:队列类Deque:双端队列(栈操作建议使用)public class LinkedList<E> extends AbstractSequentialList<E> implements List<E...
2019-12-04 11:08:13
165
1
原创 Java虚拟机学习记录1
Java虚拟机将运行时内存区域划分为五个部分,分别为方法区、堆、pc寄存器、Java方法栈和本地方法栈。Java编译的class文件需要先加载至方法区中,方能在Java虚拟机中运行。Java程序编译生成的Java字节码,可以在不同平台的虚拟机里运行。Java文件编译生成class文件加载到虚拟机中,加载后的Java类会被存放于方法区中,实际运行时,虚拟机会执行方法区内的代码。Java虚...
2019-11-30 18:42:21
140
1
原创 刘欣《码农翻身》之动态代理读后感
很生动地通过故事讲明白了Java动态代理这么个事,很棒:为什么需要动态代理:人们希望在运行时动态修改类,但是,Java一个类一旦被装入方法区,就没法动态修改已经编译好的类了解决方案:已经被加载或者正在运行的类既然不能被修改,就需要运行时动态生成一个代理类,达到“运行时动态修改类”的目的。代理类是基于原来的类生成的新的类,具有运行时需要的功能,比如日志记录、事务支持、权限控制等。如何...
2019-11-29 15:11:10
551
原创 复习Java,准备面试
接口和抽象类有什么联系和区别?1.接口1.8以后可以定义实例方法,需加上default修饰符。2.接口中方法定义默认为public abstract类型,成员变量默认为public static final 类型,声明成员变量是基本类型和String,被final修饰的变量,不可变的是变量的引用,而不是变量的内容。3.接口可以定义静态方法,不可定义静态代码块。4.接口可以exten...
2019-11-28 12:58:41
123
原创 数据结构乱七八糟的复习
复习循环队列:public class QueueTest { private int[] array; private int front; private int rear; public QueueTest(int capacity) { this.array = new int[capacity]; } public void enQueue(int eleme...
2019-11-26 16:17:40
99
原创 理解Servlet
Defines methods that all servlets must implement.<p>A servlet is a small Java program that runs within a Web server.Servlets receive and respond to requests from Web clients,usually across ...
2019-11-23 16:54:21
114
原创 复习LinkedList操作
public class LinkedListTest { private Node head; private Node last; private int size; // 插入 public void insert(int data, int index) throws Exception { if (index < 0 || index > size) ...
2019-11-15 00:28:50
92
原创 HashMap源码解读
Hash table based implementation of the <tt>Map</tt> interface. Thisimplementation provides all of the optional map operations, and permits<tt>null</tt> values and the <t...
2019-11-12 18:16:12
114
原创 Day1006数据库连接池
数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能。 数据库连接池在初始化时将创建一定数量的数据库连接放到连接池中,这些数据库连接的数量是由最小数据库连接数制约。无论这些数据库连...
2019-10-07 15:39:59
91
原创 Java中的枚举Day0817
枚举是实例数量已经固定的类[public] enum 枚举名{ //第一行列出所有实例 ----枚举以后就只能用这些实例 //同样可以定义类的五大成员}与普通类的语法区别:- 枚举默认已经集成了Enum类(Object的子类),因此枚举不能继承其他类。- 枚举类默认要么是final类,要么是抽象类。如果枚举类没有抽象方法,系统自动添加final;...
2019-08-17 17:56:47
113
原创 Lambda表达式的方法引用与构造器引用Day0817
引用类方法@FunctionalInterfaceinterface Fn{ double cal(double d1,double d2);}public class InvokeStaticMethod { public static void main(String[] args) { // 引用类方法 Fn fn1 = (d1, d2) -> Math...
2019-08-17 16:08:55
105
原创 Lambda表达式知识点Day0816
/**只有一个抽象方法的接口就是函数式接口 * @author Wings * 与Override作用相同,用于报错 */@FunctionalInterfaceinterface Moveable{ void move(); // 接口里可以有静态方法 static int sum(int a,int b) { return a+b; } // 接口里的方法可以有...
2019-08-17 14:40:45
79
原创 Day0516
EOS给我带来的使用体验:EOS合并了业务逻辑组件与DAO组件,在图元中似乎分层还是比较明确的,控制器调用Service层,只不过Service不在调用Dao而是合并了DAO组件,数据持久化,从数据对象上看,每个类只有成员变量和get、set方法,所以其实还是贫血模式的,但是每个持久化对象都用接口和实现类来做,就看不明白为什么还要多个接口(猜想是代理的时候希望是面向接口而不是面向具体的类,虽然...
2019-05-17 17:12:53
76
转载 Emmet的HTML语法(敲代码的快捷方式)
https://blog.csdn.net/fghsfeyhdf/article/details/78069259
2019-02-15 10:16:19
164
转载 Web框架的概念整理(2019-02-14)
百度到如下:Web框架有两种,基于请求(Struts和Spring MVC)的和基于组件的两种框架,框架有助于减轻网页开发时共通性活动的工作负荷,例如许多框架提供数据库访问接口、标准样板以及会话管理等,可提升代码的可再用性。 基于请求:服务器端程序要收集客户端籍get或post方式提交的数据,转换,校验,然后以这些数据作为输入运行业务逻辑后生成动态的内容(包括HTML、JavaScri...
2019-02-14 11:27:32
714
转载 关于Promise和Array.map()的一些零散知识点
Promise:Promise是异步编程的一种解决方案,它有三种状态,分别是pending-进行中、resolved-已完成、rejected-已失败当Promise的状态又pending转变为resolved或rejected时,会执行相应的方法,并且状态一旦改变,就无法再次改变状态,这也是它名字promise-承诺的由来https://www.jianshu.com/p/c98eb...
2019-02-13 11:17:04
1051
原创 async和await
await后面返回的是一个promise对象,如果给的不是一个promise对象,会转换成promise对象。router.get('/testAsync',async (ctx)=>{ global.console.log('start',new Date().getTime()) const a = await new Promise((resolve,reject)=&g...
2019-02-13 11:09:31
124
原创 Vue概念整理Day0114
Vuex 是一个状态管理模式,它采用集中式存储,管理应用的所有组件的状态,这个状态自管理应用包含以下几个部分:state,驱动应用的数据源; view,以声明方式将 state 映射到视图; actions,响应在 view 上的用户输入导致的状态变化。 store 模式:状态管理任何时间,我们应用中的任何部分,在任何数据改变后,都不会留下变更过的记录。为了解决这个问题,我们...
2019-01-15 08:58:34
103
原创 学Vue和Node.js的一点感想-[2019-01-03 10:38]
这几天公司换了前端框架,就是打算使用Vue,Vuetifyjs,来构建前端,稀里糊涂的学了点Node.js,在这里记录一下感想:Vue说是是一套构建用户界面的渐进式框架,Vue 只关注视图层, 采用自底向上增量开发的设计,Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件然后学了实例化Vue对象,网上始终都没有找到我满意的答案,就这块的理解特别模糊,我所知道的是V...
2019-01-03 11:42:00
2389
原创 整合Hibernate-下(Lee-Day12-09)
泛型的public class BaseDao<T> 里面放一些通用的CRUD操作业务Dao(接口)里面放与业务相关的查询方法,让业务Dao继承BaseDao<Entity_Class>让BaseDao实现类实现BaseDao接口(里面放一些门面方法,门面方法用protected修饰,只能给子类使用,不继承不可以用,这种封装更好)让业务类的实现(DaoImpl)...
2018-12-09 21:08:40
112
原创 Spring整合Hibernate(基础配置)【Lee-Day12-9】
Spring整合Hibernate的优势•通用的资源管理,直接管理Hibernate底层的DataSource、SessionFactory。•有效的Session管理•声明式的事务管理。•异常包装。Spring把所有checked异常包装成runtime异常。(1)导包:如果已经有javassist包会冲突,删掉项目中低版本的javassist包C3P0的两个jar包...
2018-12-09 19:07:25
102
原创 Spring整合Struts2(Lee-Day12-9)
(1)把Struts2的核心控制器配置到Web.xml文件中<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaL...
2018-12-09 18:03:21
85
原创 Activiti工作流基础(Day1108、1112)
框架的环境搭建1. 类库2. 安装activiti 流程图插件(eclipse) Name: Activiti BPMN 2.0 designer Location: http://activiti.org/designer/update/两种方式创建流程数据库:第一种方式:用jdbc的方式@Test public void test1() { ProcessE...
2018-11-26 15:49:37
111
转载 Oracle兴趣拓展:基本知识(写于2018-11-24)
什么是表空间: Oracle数据库是由若干个表空间(Tablespace)构成的,任何数据库对象在存储时都必须存储在某个表空间中。表空间对应于若干个磁盘文件,即表空间是由一个或多个磁盘文件构成的。表空间相当于操作系统的文件夹,也是数据库逻辑结构与物理文件之间的一个映射。每个数据库至少有一个表空间,表空间的大小等于所有从属于他的数据文件大小的总和。 表空间是数据库...
2018-11-24 21:43:58
382
原创 复习:Oracle高级(游标的使用)
Oracle的PL/SQL编程是面向过程的语言,是专门用在Oracle数据库中的语言,要和面向对象思想区分开PL Procedure Language 过程化语言 判断结构 循环结构SQL Structure Query Language 结构化查询语言create 创建的都是数据库对象,数据的对象 create , drop , alter 语...
2018-11-24 21:26:00
175
原创 复习:solr配置分词器和业务字段
1. 配置中文分词器,手动配置 FildType中指定 -- IK Analyzer 的jar包添(IKAnalyzer2012FF_u1.jar)加到tomcat的webapps下solr的WEB-INF下lib中 -- 把IK Analyzer的扩展词典、停用词典、配置文件复制到solr的web工程的classes中(IK Analyzer 2012FF_hf1文件夹下的三...
2018-11-23 12:23:59
252
原创 复习Apache-solr框架的基本使用(Day1113)
因为数据库的搜索性能低下,难以直接面对高并发访问,所以在分布式电商平台中引入了solr搜索服务,可以将solr看成是一个数据库,他可以通过从数据库导入到solr方式获取数据,也可以在用户添加商品的时候直接将商品信息添加到solr中。solr可以在高并发场景下提供高性能的搜索服务。使用如下:1.solr必须和tomcat结合,这里使用tomcat8.0.50版本,首先解压so...
2018-11-23 12:17:50
162
原创 Oracle复习
--复习--1.查询与指定员工名称为SCOTT在同一个部门的员工信息select * from emp e where e.empno in ( select a.empno from emp a where deptno=(select deptno from emp where ename='SCOTT'))--老师的写法select * from emp where ...
2018-11-22 13:25:20
133
原创 com.netflix.client.ClientException: Load balancer does not have available server for client:
com.netflix.client.ClientException: Load balancer does not have available server for client: shopping-sellergoods-ms at com.netflix.loadbalancer.LoadBalancerContext.getServerFromLoadBalancer(LoadBa...
2018-11-20 15:30:37
1349
原创 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):
创建Maven工程时resource文件夹(source folder)下创建文件夹时必须使用“/”分隔,而不能使用“.”分隔文件夹,以点方式分割会导致文件夹名字里有点,而不是拆开的文件,这样会导致找不到映射文件而报错!org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.y...
2018-11-19 13:35:26
165
原创 spring cloud 的使用(Day1116)
每一个微服务模块,后台都可以对应一个独立的数据库,所有的微服务要在服务器(Eureka-Service)注册服务,消费方和提供方也使用微服务来开发,调用是相对而言的,也就是说提供方也可以是消费方,也就是说模块之间可以相互调用,他们都属于Eureka的客户端。每一个微服务模块都可以把它看成是一个独立的应用程序。整个微服务(Eureka-Service加Eureka-Client)构成...
2018-11-18 19:58:35
109
原创 使用shiro做安全验证和授权管理
apache shiro 不依赖于springApache Shiro是一个强大而灵活的开源安全框架,它能够干净利落地处理身份认证,授权,企业会话管理和加密。以下是你可以用 Apache Shiro所做的事情: 1.· 验证用户2.· 对用户执行访问控制,如: · 判断用户是否拥有角色admin。 判断用户是否拥有访问的权限3.· 在任何环境下使...
2018-11-11 17:45:03
1267
转载 使用maven构建多模块项目
Maven的主要作用:1. 依赖管理2. 分模块开发【Maven常用命令】mvn archetype:create 创建Maven项目mvn compile 编译源代码mvn deploy 发布项目mvn test-compile 编译测试源代码mvn test 运行应用程序中的单元测试mvn site 生成项目相关信息的网站m...
2018-11-11 17:39:23
179
原创 复习 Struts 2(Day0920)[S标签OGNL表达式/文件上传]
2.Struts 2默认的表达式语言是OGNL(Object-Graph Navigation Language),不支持el表达式1)常用struts2标签:jsp页面引入<%@ taglib uri="/struts-tags"prefix="s" %>控制标签•if:用于控制选择输出的标签。•elseIf/elseif:与if标签结合使用,用于控制选择输出的标...
2018-11-11 17:24:12
178
原创 复习 Struts 2(Day0920)[Struts2应用的开发步骤]
1.在web.xml文件中定义核心Filter来拦截用户请求(只有在web.xml文件中配置该框架的核心Servlet或Filter,在能让该框架介入到Web应用中)<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xml...
2018-11-11 17:24:05
160
原创 复习Struts2 (Day0921)生命周期及拦截器
2、Struts2生命周期: 2.1) 生命周期 1) 客户端发出请求给Web服务器 2) 请求经过一系列的过滤器(包括Struts2的过滤器和其它过滤器) 3) 如果是到达了Struts2的过滤器,底层有核心控制器会被调用,访问ActionMapper来判断当前请求是否需要调用Action。 4) 如果ActionMapper判断是需...
2018-11-11 17:23:55
295
原创 什么是WebService、使用cxf+spring来搭建Web服务
WebService 可以实现一种分布式的开发--CXF:Apache CXF = Celtix + Xfire,开始叫 Apache CeltiXfire,后来更名为 Apache CXF 了,以下简称为 CXF。Apache CXF 是一个开源的 web Services 框架,CXF 帮助您构建和开发 web Services ,它支持多种协议,比如:SOAP1.1,1,2XML/H...
2018-11-11 17:23:32
483
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人