04 2019 档案
摘要:概念和原理 Connector组件 接受客户端连接 加工处理客户端请求 Container组件 所有子容器的父接口 责任链设计模式 在看一下tomcat端口配置: 8005:监听tomcat关闭的请求 8080:http请求 8009:和其他http建立连接 修改tomcat内存: java的内存分
阅读全文
摘要:先下载jquery.fileDownload.js 引入js; js代码: 后台response要进行如下设置; 然后就可以用了
阅读全文
摘要:先解压压缩包在d盘下 修改my-default.in配置文件 修改之后结果 路径为mysql安装路径 以管理员身份运行cmd 将mysql的bin目录放置在环境变量中 然后继续启动 因为root用户的默认密码为空,直接回车进入 设置新密码 添加一个可远程登录的帐号user MySQL新建用户,授权,
阅读全文
摘要:下载地址 https://code.visualstudio.com/Download 解压后路径创建文件夹 桌面快捷右击属性--》目标 设置值为 D:\VSCode-win32-x64-1.33.1\Code.exe --extensions-dir "D:\VSCode-win32-x64-1.
阅读全文
摘要:先贴出导出方法: 这里的是自定义字段导出的,其中excelHeader是通过#分割的,例如“用户名#username”的数组。 上面两条数据是十万条数据调用网上大神封装的方法,导出只需要4.5秒; 而我的才2万条数据却需要8.6秒; 不是一个量级的,所以我在想,哪里还可以再优化。 这里反射最好使用缓
阅读全文
摘要:把mysql里所有table的varchar字段的字符集,批量换成了utf8mb4/utf8mb4_unicode_ci ,以便能保存一些表情,结果存储过程报错; 这是因为临时存储表的编码和表的编码不符; 所以在游标使用到的变量修改编码; 即可!
阅读全文
摘要:com.github.pagehelper.PageHelper是一个开源的分页源码工具; 第一次看的时候不知道分页原理是什么? 看代码: 在dao层调用selectByExample之前只使用了 PageHelper.startPage(page, limit);进行分页。 在这两者之间似乎并没有
阅读全文
摘要:ehcache配置文件: spring配置文件中加入: 工具类: 调用数据字典为例。
阅读全文
摘要:解释器模式(Interpreter Pattern)提供了评估语言的语法或表达式的方式,它属于行为型模式。 这种模式实现了一个表达式接口,该接口解释一个特定的上下文。这种模式被用在 SQL 解析、符号处理引擎等。 构建语法树,定义终结符与非终结符。 应用实例:编译器、运算表达式计算。 测试结果:
阅读全文
摘要:请假 //方法体里面 leave() { MessageBox.prompt('请假理由', { inputValidator: (val) => { if (val === null) { return true;//初始化的值为null,不做处理的话,刚打开MessageBox就会校验出错,影响用户体验 } return !(val.length...
阅读全文
摘要:中介者模式(Mediator Pattern)是用来降低多个对象和类之间的通信复杂性。这种模式提供了一个中介类,该类通常处理不同类之间的通信,并支持松耦合,使代码易于维护。 主要是通过这个类进行关联 测试结果:
阅读全文
摘要:在访问者模式(Visitor Pattern)中,我们使用了一个访问者类,它改变了元素类的执行算法。 通过这种方式,元素的执行算法可以随着访问者改变而改变。这种类型的设计模式属于行为型模式。 根据模式,元素对象已接受访问者对象,这样访问者对象就可以处理元素对象上的操作。 假如某个学科接受访问者访问
阅读全文
摘要:状态模式(State Pattern)中,类的行为是基于它的状态改变的。 例如QQ的隐藏在线功能。使用场景可用于 1、行为随状态改变而改变的场景。 2、条件、分支语句的代替者。 通常命令模式的接口中只有一个方法。而状态模式的接口中有一个或者多个方法。 而且,状态模式的实现类的方法,一般返回值,或者是
阅读全文
摘要:备忘录模式(Memento Pattern)保存一个对象的某个状态,以便在适当的时候恢复对象。 说白了,就是用了一个中间类来存储之前的记录,如果记录需要时间可以用map来存储。
阅读全文
摘要:命令模式(Command Pattern)是一种数据驱动的设计模式,它属于行为型模式。 请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。 主要解决:在软件系统中,行为请求者与行为实现者通常是一种紧耦合的关系,但某些场合,
阅读全文
摘要:顾名思义,责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式。 在这种模式中,通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求,那么它
阅读全文
摘要:迭代器模式(Iterator Pattern)是 Java 编程环境中非常常用的设计模式。 这种模式用于顺序访问集合对象的元素,不需要知道集合对象的底层表示。 实现类 可以模仿java迭代方法的实现。 关键就是定义接口:hasNext, next。 然后通过这种借口写出自己的集合框架
阅读全文
摘要:先建立一个接口和两个实现类 再新建一个接口: 其中通知所有的观察者的就是观察者模式。 具体实现: 在这里,更新自身的同时通知其他观察者; 结果: 只是将观察者关联起来,有点类似于socket的群聊,发出一句话然后其他人都能收到 这里其他人就算是观察者。这就是观察者模式
阅读全文
摘要:先看代码: 运算结果: 上面抽象类的代码中有calculate方法,是可以通过不同的子类继承并且重写的,这就相当于模版 定义了模版,至于具体是怎么子的通过子类实现
阅读全文
摘要:策略模式就是定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。 先定义一个统一的接口 这是一个辅助类 上面是运算类 结果: 通过接口的多态实现不同的运算方法 策略模式的决定权在用户,系统本身提供不同算法的实现,新增或者删除算法,对各种算法做封装。因此,策略模式多用在算法决策系统中,外部
阅读全文
摘要:JVM参数的优化 适当调整Tomcat的运行JVM参数可以提升整体性能。 JVM内存模型 Java栈 Java栈是与每一个线程关联的,JVM在创建每一个线程的时候,会分配一定的栈空间给线程。它主要用来存储线程执行过程中的局部变量,方法的返回值,以及方法调用上下文。栈空间随着线程的终止而释放。 Jav
阅读全文
摘要:进入tomcat安装路径进入conf目录下 修改tomcat-users.xml文件 打开tomcat界面 输入用户名和密码进入 tomcat的运行模式有3种: 1、 bio 默认的模式,性能非常低下,没有经过任何优化处理和支持. 2、 nio nio(new I/O),是Java SE 1.4及后
阅读全文
摘要:享元模式的主要目的是实现对象的共享,即共享池,当系统中对象多的时候可以减少内存的开销,通常与工厂模式一起使用 FlyWeightFactory负责创建和管理享元单元,当一个客户端请求时,工厂需要检查当前对象池中是否有符合条件的对象, 如果有,就返回已经存在的对象,如果没有,则创建一个新对象,FlyW
阅读全文
摘要:组合模式有时又叫部分-整体模式在处理类似树形结构的问题时比较方便 结果: 使用场景:将多个对象组合在一起进行操作,常用于表示树形结构中,例如二叉树,数等。
阅读全文
摘要:桥接模式就是把事物和其具体实现分开,使他们可以各自独立的变化。 桥接的用意是:将抽象化与实现化解耦,使得二者可以独立变化, 像我们常用的JDBC桥DriverManager一样,JDBC进行连接数据库的时候,在各个数据库之间进行切换, 基本不需要动太多的代码,甚至丝毫不用动,原因就是JDBC提供统一
阅读全文
摘要:外观模式是为了解决类与类之家的依赖关系的,像spring一样,可以将类和类之间的关系配置到配置文件中, 而外观模式就是将他们的关系放在一个Facade类中,降低了类类之间的耦合度,该模式中没有涉及到接口: (以一个计算机的启动过程为例) 结果: 如果我们没有Computer类,那么,CPU、Memo
阅读全文
摘要:看代码: 测试结果: 忽然发现该代理模式和之前的装饰器模式极其相似。 区别仅在于需要用到的装饰器模式调用时引入了一个对象,而代理模式并没有; 但是其中思想并不同,装饰器模式只是将引用的类进行装饰,也就是用来扩展; 而代理模式则是用来代理处理一些相关事物。 所以修改的话使用代理模式是对代理类进行修改。
阅读全文
摘要:结果: 有上可知,当多个类继承相同的接口,实现的方法是不一样的。其中方法可以被拓展成多个功能。 这种方式也是属于java三大特性(封装,继承,多态)之一的多态。 装饰器模式的应用场景:1、需要扩展一个类的功能。2、动态的为一个对象增加功能,而且还能动态撤销。(继承不能做到这一点,继承的功能是静态的,
阅读全文
摘要:适配器模式将某个类的接口转换成客户端期望的另一个接口表示,目的是消除由于接口不匹配所造成的类的兼容性问题。主要分为三类:类的适配器模式、对象的适配器模式、接口的适配器模式。 代码如下: 运行结果: 可以看出上面Adapter类实现接口只实现其中一个方法,另一个方法由父类实现。那么父类和接口算是适配上
阅读全文
摘要:使用show status语句可以查看mysql数据库的相关参数 例如: 其中value值可以是以下常用参数 Slow_queries 慢查询次数 Com_(CRUD) 操作的次数 Uptime 上线时间 例如: 在MySQL中可以使用EXPLAIN查看SQL执行计划,用法:EXPLAIN SELE
阅读全文
摘要:在Java中,复制对象是通过clone()实现的,先创建一个原型类: 很简单,一个原型类,只需要实现Cloneable接口,覆写clone方法。 此处clone方法可以改成任意的名称,因为Cloneable接口是个空接口,你可以任意定义实现类的方法名,如cloneA或者cloneB,因为此处的重点是
阅读全文
摘要:建造者类: 测试 建造者模式将很多功能集成到一个类里,这个类可以创造出比较复杂的东西。用的比较多,工厂模式适用于单个; 建造者是为了使用多个对象集中在一起建造一个比较复杂的功能;
阅读全文
摘要:创建一个接口,分别有短信和邮件实现这个接口 创建一个静态工厂方法模式,可以在调用的时候不用对工厂类实例化 测试 结果: 想想普通工厂模式,假如需要新建立一个发送传真的方法呢。 需要先建立一个实现接口的类,然后在工厂类使用方法进行实例化。这就需要对工厂类进行修改,违背了闭包原则。 所以可以用 抽象工厂
阅读全文
摘要:这是题目的实体类 卷子的实体类 需求:已经录入若干提,其中每题的类型不完全相同,例如有的题目是语文,有的是数学之类的。 抽取其中若干题,必然是小于录入题的,必须保证每种类型的题都被抽取到,且希望能根据不同类型的题目均匀抽取; 例如录入40题,抽取10题。 假如语文,数学,物理,化学各是16,12,8
阅读全文
摘要:实体类上加注解报错Failed to convert property value of type 'java.lang.String' to required type 'java.util.Date' for property 'startTime'; nested exception is o
阅读全文
摘要:单例模式就是全局对象只有一个,比如开发中spring中常常使用到的bean; 跟静态类有点类似,但是静态类局限很多,不能被继承等。 单例模式又分为饿汉模式和懒汉模式。 饿汉模式是在加载类的时候就创建了实例,不管这个实例能不能用的到; 懒汉模式则是延时加载,用到的时候再创建实例。但是线程不安全。 饿汉
阅读全文
摘要:前端页面 直接引入js即可,加入相应需要的自定义属性 写的不是很好,较为繁琐,有时间再去修改
阅读全文
摘要:html代码 js代码 注意传到后台的是已逗号分隔的id字符串,然后进行查询 如果无效果可能是button按钮没有加 type="button" 没有加会默认是submit提交重新原页面刷新 使用sessionData是临时数据,刷新页面就会重置,如果希望一直存在 使用layui.data('tab
阅读全文
摘要:package com.akb.hfcx.csp.common.util; import java.lang.reflect.Field; import java.lang.reflect.Method; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java...
阅读全文
摘要:package com.akb.hfcx.csp.common.util; import java.io.File; import java.io.IOException; import java.util.UUID; import org.springframework.web.multipart.commons.CommonsMultipartFile; public class Su...
阅读全文
摘要:解决方案是将js放到最底部,就在</body>之前即可。 如果还不行加上 使用 defer="defer" 如果脚本不会生成任何文档内容,使用此选项。这将告诉浏览器它可以在加载脚本之前等待加载内容。
阅读全文
摘要:循环报错,原因是我的json加上JSON.toJSONString(String,SerializerFeature.DisableCircularReferenceDetect); 去除循环检测,但是就会出现死循环的效果
阅读全文
摘要:使用mybatis批量插入,看了这篇博客 https://blog.csdn.net/m0_37981235/article/details/79131493 我这种懒货懒得想其中原因,直接上手第三种! 结果测试多次,发现我插入8000条数据,第一种方式只需要30秒不到,可是第三种方法却需要一分多钟
阅读全文

浙公网安备 33010602011771号