- 博客(352)
- 资源 (8)
- 收藏
- 关注
原创 leetcode:224. 基本计算器 I、227. 基本计算器 II
224.标题基本计算器 I通用解法就不说了,这里介绍下用正则表达式来解这道题,基本思路是先用正则表达式计算出括号中的子表达式,最后计算整个表达式。代码如下:import java.util.Arrays;import java.util.regex.*;class Solution { public int calculate(String s) { s = s.replace("...
2020-02-06 15:30:20 672
转载 图的深度优先遍历(DFS)和广度优先遍历(BFS)算法分析
1. 深度优先遍历深度优先遍历(Depth First Search)的主要思想是:1、首先以一个未被访问过的顶点作为起始顶点,沿当前顶点的边走到未访问过的顶点;2、当没有未访问过的顶点时,则回到上一个顶点,继续试探别的顶点,直至所有的顶点都被访问过。在此我想用一句话来形容 “不到南墙不回头”1.1 无向图的深度优先遍历图解以下"无向图"为例:对上无向图进行深度优先遍历,从A开始:...
2020-02-04 15:53:43 5575 1
转载 Java黑科技之源:JVMTI完全解读
Java生态中有一些非常规的技术,它们能达到一些特别的效果。这些技术的实现原理不去深究的话一般并不是广为人知。这种技术通常被称为黑科技。而这些黑科技中的绝大部分底层都是通过JVMTI实现的。 形象地说,JVMTI是Java虚拟机提供的一整套后门。通过这套后门可以对虚拟机...
2019-09-06 11:33:47 535
转载 MySQL高级之索引失效与优化详解
案例所用的表结构、索引、与数据如下: 索引失效与优化1、全值匹配我最爱2、最佳左前缀法则(带头索引不能死,中间索引不能断)如果索引了多个列,要遵守最佳左前缀法则。指的是查询从索引的最左前列开始 并且 不跳过索引中的列。 正确的示例参考上图。错误的示例: 带头索引死: 中间索引断(带头索引生效,其他索引失效): 3、不要在索引上做任何操作(计算、函数、自动/手动类型...
2019-08-11 18:03:12 327
原创 工作经验总结
一、关于日志 关于日志的作用之前只知道是用来观察线上运行情况的,现在发现也有一些其他的作用。比如增强系统高并发的能力。在用户行为统计中,要记录的行为种类和次数都是很多的,若在用户触发行为的同时就进行数据库的插入必然会影响系统高并发的能力,而此时可以借助日志。通过写入日志的方式,在凌晨的时候定时任务跑日志进行数据的分析与统计,就能很好的将白天的运算量迁移到晚上,晚上的硬件资源也得到了利用,并且晚...
2019-07-12 18:55:38 319
转载 md转html(linux)
yum install -y npmnpm install -g i5ting_toci5ting_toc -f readme.mdll preview/readme.html
2019-07-10 13:55:10 1080
转载 详述 PO VO BO DTO DAO 和 POJO 的概念及区别
说实话,我相信对于刚接触 PO、VO、BO、DTO、DAO 和 POJO 这些概念的同学来说,大都会有一种“这都是什么鬼?”的感觉,可谓是云里雾里,不知今夕何夕!现在,就让咱们一起揭开这些 “X”O 的面纱,看看它们的庐山真面目。首先,来个图瞅瞅:第 1 个:DAO DAO(Data Access Object)数据访问对象,它是一个面向对象的数据库接口,负责持久层的操作,为业务...
2019-06-27 15:58:51 337
转载 23种设计模式-结构型模式-享元模式
一、简介享元模式英文名Flyweight,又叫蝇量模式,享元模式主要关注的有两个点:共享对象和细粒度的对象,由于分配太多对象会导致应用性能下降,同时造成内存溢出,享元模式就是为了解决这类问题的共享技术。所谓享元模式就是运行共享技术有效地支持大量细粒度对象的复用。系统使用少量对象,而且这些都比较相似,状态变化小,可以实现对象的多次复用。共享模式是支持大量细粒度对象的复用,所以享元模式要求能够共...
2019-06-21 21:27:50 225
转载 23种设计模式-结构型模式-外观模式
外观模式是一种使用频率非常高的结构型设计模式,它通过引入一个外观角色来简化客户端与子系统之间的交互,为复杂的子系统调用提供一个统一的入口,降低子系统与客户端的耦合度,且客户端调用非常方便。1. 外观模式概述不知道大家有没有比较过自己泡茶和去茶馆喝茶的区别,如果是自己泡茶需要自行准备茶叶、茶具和开水,如图1(A)所示,而去茶馆喝茶,最简单的方式就是跟茶馆服务员说想要一杯什么样的茶,是铁观音、碧螺...
2019-06-21 21:04:28 1325
转载 23种设计模式-行为型模式-访问者模式
在患者就医时,医生会根据病情开具处方单,很多医院都会存在以下这个流程:划价人员拿到处方单之后根据药品名称和数量计算总价,而药房工作人员根据药品名称和数量准备药品,如下图所示。在软件开发中,有时候也需要处理像处方单这样的集合对象结构,在该对象结构中存储了多个不同类型的对象信息,而且对同一对象结构中的元素的操作方式并不唯一,可能需要提供多种不同的处理方式。在设计模式中,有一种模式可以满足上述要求,...
2019-06-21 20:31:00 723
转载 23种设计模式-结构型模式-装饰模式
1、意图:动态地给一个对象添加一些额外的职责。就增加功能来说, Decorator模式相比生成子类更为灵活。该模式以对客 户端透明的方式扩展对象的功能。2、适用环境(1)在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责。(2)处理那些可以撤消的职责。(3)当不能采用生成子类的方法进行扩充时。一种情况是,可能有大量独立的扩展,为支持每一种组合将产生大量的 子类,使得子类数目呈...
2019-06-20 20:35:50 235
转载 23种设计模式-结构型模式-组合模式
组合模式(Composite Pattern),又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。这种类型的设计模式属于结构型模式,它创建了对象组的树形结构。这种模式创建了一个包含自己对象组的类。该类提供了修改相同对象组的方式。大话设计模式中程杰老师给出的定义是,组合模式:将对象组合成树形结构以表示”部分-整体”的层次结构。组...
2019-06-20 20:11:14 345
转载 最新阿里云申请免费SSL证书实现网站HTTPS化
发现很多使用阿里云的小伙伴找不到申请免费SSL证书的位置了,今天就结合自己申请Symantec证书的精力为大家用图文教程演示一下如何在阿里云申请免费SSL证书吧。一、申请免费SSL证书:1、登录阿里云:2、领取代金券礼包:https://promotion.aliyun.com/ntms/yunparter/invite.html?userCode=0a5rig7f3、进入管理控制...
2019-05-10 22:09:52 297
原创 Base64图片工具类
package controller;import java.io.ByteArrayOutputStream;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.Unsup...
2019-05-10 21:52:07 608 1
转载 什么是Base64?
一、什么是Base64? 百度百科中对Base64有一个很好的解释:“Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法”。 &n...
2019-05-10 21:49:04 971
原创 ajax发送json对象
前端:function ajaxJsonCommu(url,type,param,successCallBack,errorCallBack) { $.ajax({ url : url, type : type, data : JSON.stringify(param), // 预期返回数据类型为json,即将返回的数据转成...
2019-05-08 22:00:52 360
原创 IDEA中SpringBoot项目使用JRebel插件热部署
一、安装JRebelFile - Settings - Plugins - Install JetBrains plugins 搜索JRebel点击install等待完成安装,安装完成后需要重启IDEA二、激活Help - JRebel - Activation激活服务器可以填写:http://139.199.89.239:1008/46994e4c-ed76-4873-b423-...
2019-05-08 21:38:37 2060
转载 linux后台执行命令:&和nohup
当我们在终端或控制台工作时,可能不希望由于运行一个作业而占住了屏幕,因为可能还有更重要的事情要做,比如阅读电子邮件。对于密集访问磁盘的进程,我们更希望它能够在每天的非负荷高峰时间段运行(例如凌晨)。为了使这些进程能够在后台运行,也就是说不在终端屏幕上运行,有几种选择方法可供使用。& 当在前台运行某个作业时,终端被该作业占据;可以在命令后面加上& 实现后台运行。例如:s...
2019-05-08 20:41:08 183
原创 spring.jackson.default-property-inclusion无效问题
yml文件配置如下:spring: jackson: default-property-inclusion: non_null按照网上的说法,password属性为null时jackson应该不会将其序列化,但是真实情况如下:阅读文档发现:Finally, if you opt out of the Spring Boot default MVC configuratio...
2019-05-08 11:56:08 30596
原创 tr标签设置block布局错乱问题
<table> <tr> <td><label>请选择商品:</label></td> <td> <select id="selectGoods4" class="easyui-combobox" panelHeight="auto" style...
2019-05-07 14:41:01 708
转载 使用URLDecoder.decode解析字符串含有"+","+"号这个特殊字符会被吃掉,转换成空格
实际使用情况是这样的:我们在使用url的时候,一般从网络或是服务器得到的一个url地址一般都是经过encode编码过的(一般是使用URLEncoder.encode),或者是我们要给服务端传递url参数,直接使用的话,到服务端去解析的时候(应该服务端就是使用decode来解析的),那么原来没有经历过encode编码的字符串,比如za4T8MHB/6mhmYgXB7IntyyOUL7Cl++0j...
2019-04-28 21:17:36 1668
转载 linux查看openjdk的安装的路径(环境变量)
前言 : 现在基本上linux为了避免版权问题都会默认的为你安装开源的openjdk,而不是jdk 。有些时候需要运行一些环境需要用到jdk的环境变量,本文就是简单描述下如何查看openjdk的环境变量 。1 echo $JAVA_HOME 很多小伙伴都知道使用echo $JAV...
2019-04-28 16:46:54 13379
转载 Tomcat在INFO: Deploying web application directory卡住
今天在linux上的tomcat部署一个网站时,在刚启动tomcat的时候提示启动成功,然后也能访问成功.可是第二次启动时虽然没有报错,但无法访问tomcat,查看了catalina.out日志(可用./catalina.sh run命令控制台启动tomcat,各种日志都会打印在命令行),发现tomcat卡在了INFO: Deploying web application directory …...
2019-04-28 16:44:58 279
转载 实体-关系图转换为关系模型
1.逻辑设计概述 概念结构是独立于任何一种数据模型的,在实际应用中,一般所用的数据库环境已经给定(如SQL Server或Oracel或MySql),本文讨论从概念结构向逻辑结构的转换问题。 由于目前使用的数据库基本上都是关系数据库,因此首先需要将E-R图转换为关系模型,然后根据具体DBMS的特点和限制转换为特定的DBMS支持下的数据模型,最后进行优化。2.E-R图向关系模型的转换2....
2019-04-25 16:54:19 19205 3
转载 建立实体-关系模型(案例)
一、标识实体通常有用户、角色这两个实体。二、标识关系用户与角色间为多对多的互相拥有关系。三、标识实体、关系的属性不仅仅是实体有属性,关系同样也有属性,这些属性在实体间建立关系时才会存在。有时属性太多,无法在图上一一列出,可以用表格,在后面的步骤中这个表格同样会用到,如下:四、确定属性域 属性域就是属性的取值范围。 这时,可以用表格将属性的数据类型、数据长度、取值范围及...
2019-04-25 15:10:06 8726
转载 关于 Integer 和装箱、拆箱以及缓存
一、关于拆箱和装箱装箱 就是自动将基本数据类型转换为包装器类型;拆箱 就是自动将包装器类型转换为基本数据类型基本数据类型包装器类型int(4子节)Integerbyte(1子节)Byteshort(2子节)Shortlong(8子节)Longfloat(4子节)Floatdouble(8子节)Doublechar(2子节)...
2019-04-19 17:31:14 146
转载 内部类通过反射创建对象
一.静态内部类1.正常创建newOuter.InnerA a = new Outer.InnerA();2.反射创建Outer.InnerA a = InnerA.class.newInstance();二.非静态内部类1.正常创建newInnnerB b = new Outer().new InnnerB();2.反射创建InnnerB b = InnnerB.clas...
2019-04-19 14:38:14 793 1
转载 23种设计模式-行为型模式-迭代器模式
迭代器模式定义迭代器模式(Iterator),提供一种方法顺序访问一个聚合对象中的各种元素,而又不暴露该对象的内部表示。迭代器模式的角色构成(1)迭代器角色(Iterator):定义遍历元素所需要的方法,一般来说会有这么三个方法:取得下一个元素的方法next(),判断是否遍历结束的方法hasNext()),移出当前对象的方法remove(),(2)具体迭代器角色(Concrete Iter...
2019-04-16 20:36:24 176
转载 23种设计模式-行为型模式-中介者模式
在我们的生活中处处充斥着“中介者”,比如你租房、买房、出国留学、找工作、旅游等等可能都需要那些中介者的帮助,同时我们也深受其害,高昂的中介费,虚假信息。在地球上最大的中介者就是联合国了,它主要用来维护国际和平与安全、解决国际间经济、社会、文化和人道主义性质的问题。国与国之间的关系异常复杂,会因为各种各样的利益关系来结成盟友或者敌人,熟话说没有永远的朋友,也没有永远的敌人,只有永远的利益!所以国与国...
2019-04-16 20:14:41 171
转载 23种设计模式-行为型模式-备忘录模式
引子我们在编程的时候,经常需要保存对象的中间状态,当需要的时候,可以恢复到这个状 态。比如,我们使用Eclipse进行编程时,假如编写失误(例如不小心误删除了几行代码),我们希望返回删除前的状态,便可以使用Ctrl+Z来进行返 回。下象棋的时候,可以反悔。这时我们便可以使用备忘录模式来实现。定义在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样就可以将该对象恢复...
2019-04-15 20:58:30 235
转载 23种设计模式-结构型模式-适配器模式
一、结构型模式: 结构型模式(Structural Pattern): 描述如何将类或者对象结合在一起形成更大的结构,就像搭积木,可以通过简单积木的组合形成复杂的、功能更为强大的结构 结构型模式可以分为类结构型模式和对象结构型模式:类结构型模式关心类的组合,由多个类可以组合成一个更大的系统,在类结构型模式中一般只存在继承关系和实现关系。对象结构型模式关心类与对象的组合,通过关联关...
2019-04-12 21:19:06 186
转载 23种设计模式-行为型模式-策略模式
面向实现编程的弊端举一个简单的动物界的例子,我们需要写一段代码,包含以下要素:鸭子类,鸭子的若干子类,实现一些方法。惯用的编程思路:1、写一个鸭子类Duck,写几个方法,比如鸭子飞行的方法fly(),鸭子叫的方法quack()。2、写鸭子的子类,比如绿头鸭MallardDuck,继承Duck类。3、在子类中重写以上两个方法。这种编程思路的弊端:1、代码冗杂:在代码量少且代码稳...
2019-04-12 19:18:12 194
原创 一个检查jar包编译版本的小demo
package indi.lbw.main;import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOE...
2019-04-11 21:00:05 338
转载 浅谈服务端渲染(SSR)
这几天服务端渲染在知乎上热度又上来了,于是我又去翻看了一些相关资料。服务端渲染是什么我最开始接触是在Vue的官网上,开始是作为一个小节出现,现在已经是个专门的大章节来专门讲Vue服务端渲染的内容。服务端渲染 简单来说就是在服务器上把数据和模板拼接好以后发送给客户端显示。回顾下前端的历史,最开始的站点是简单的静态网站。后端大哥把.html文件...
2019-04-09 15:28:28 5797
转载 IntelliJ IDEA 使用 FindBugs 进行代码分析
FindBugs 介绍FindBugs 是一个使用静态分析来 ** 查找 Java 代码中的错误 ** 的程序。它是免费软件当前版本的 FindBugs 是 3.0.1FindBugs 运行需要 1.7 或更高版本的 JRE(或 JDK)。但是,它可以分析从任何版本的 Java 编译的程序,从 1.0 到 1.8以上是来自官网的介绍,核心内容为查找 Java 代...
2019-04-09 11:30:03 1191
转载 SimpleDateFormat线程不安全及解决办法
以前没有注意到SimpleDateFormat线程不安全的问题,写时间工具类,一般写成静态的成员变量,不知,此种写法的危险性!在此讨论一下SimpleDateFormat线程不安全问题,以及解决方法。为什么SimpleDateFormat不安全?直接上一个例子,日期格式化成字符串:package com.anjz.test.simpleDateFormat; import java.te...
2019-04-09 11:26:25 14040 5
转载 表单(POST请求)的三种编码
表单有两种提交方式,POST和GET。通常我们会使用POST方式,一是因为形式上的安全 ;二是可以上传文件。我之前经常忽略掉表单的编码类型,觉得它特别长比较难记,而且不设置也似乎不影响什么。表单的编码类型,用来控制表单中的数据的编码格式。 默认 enctype=“application/x-www-form-urlencoded”,数据以键值对的方式传送到服务器,这种方式适合于大多数场景。...
2019-04-08 18:38:09 11187 1
转载 SpringMVC注解@RequestParam全面解析
一、基本使用,获取提交的参数@RequestMapping("testRequestParam") public String filesUpload(@RequestParam String inputStr, HttpServletRequest request) { System.out.println(inputStr); int ...
2019-04-06 17:12:11 165
原创 解决 SpringMvc 返回ModelAndView设置viewName无效
package com.fai.web.controllers;import org.apache.log4j.Logger;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springfram...
2019-04-06 16:22:39 1938
org.aspectj.lang.annotation.Around所需要的包
2019-04-05
SFTP Net Drive官网版本,绝对没病毒
2019-04-04
一个表格的15个需求的代码修正版
2019-03-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人