- 博客(52)
- 收藏
- 关注

原创 java8—lambda表达式(一)
<1.初识lambda表达式> 需求1:获取当前公司中当前员工年龄大于35的员工信息/** * 定义一个员工角色类 */public class Employee{ private String name; private int age; private double salary; public Employee(){} public...
2018-06-12 15:52:08
327
1

原创 java设计模式七大原则
update taotao.tb_content set category_id = 34,sub_title = '24' where title = '1' and sub_title ='23';set后面跟[逗号],where后面跟[and]
2018-06-05 10:26:33
2846
原创 leetcode - 寻找中心索引
<<解题思路>>① 如果存在中心索引,则中心索引的左右两边+中心索引 = 数组元素总和算法: S是数组元素总和,当索引i是中心索引的时,位于左边索引i元素只和 leftSum,是则满足S = leftSum * 2 + nums[i]代码实现:class Solution { public int pivotIndex(int[] nums) { if (nums.length < 1) { ...
2020-09-22 10:04:57
158
原创 网络基础知识
<1>. 背景正常来说,我们不需要关心网络知识,因为编程的时候,是不需要我们编写socket这些东西的,并且底层服务已经很好的处理了数据包的解析,所以,网络方面的东西貌似是不需要我们关心的。但是如果出现了问题,没法判断网络为什么变慢,是网络的原因还是别的原因,数据包有没有丢失,为什么会造成大量的连接丢失等等,因此还是很有必要学习网络知识,以备不时之需。...
2020-07-17 16:53:45
168
原创 多线程实现的几种方式
1.继承Thread类public class ThreadDemo1 extends Thread { public ThreadDemo1() { } @Override public void run() { System.out.println("继承Thread类实现多线程"); } public static ...
2019-11-21 17:43:57
246
原创 log4j 配置详解
1.log4j配置文件分类log4j支持两种配置文件格式,分别是xml文件和properties格式,优先查找log4j.xml,如果log4j.xml找不到才会找log4j.properties,源码如下(org.apache.log4j.LogManager.java)2.log4j核心功能产生日志信息 将日志信息输出到指定位置 调整输出样式3.log4j日志级别lo...
2019-11-20 16:43:10
773
原创 Spring MVC 开发环境搭建
1.项目创建首先我们创建一个新项目选择Maven->Create from archetype ->maven-archetype-webapp设置groupId,artifactId,默认版本1.0-SNAPSHOT选择maven目录,我这里用的是idea自带的maven插件,设置maven的setting.xml位置设置项目名称和项目地址 - 然...
2019-11-19 17:18:10
346
原创 vue2.5入门
简介 对于很多刚接触Vue的同学,最难做到的就是编程思路的切换,这篇博客,带大家快速的上手Vue的基础开发。安装这里就不具体介绍了,大概就是去官网下载vue源码包,在本地保存下来,让后通过script标签引入vue源码库,然后就可以使用了。 创建第一个vue实例 <!DOCTYPE html><!-- 创建第一个vue实例 --><...
2019-09-29 11:42:09
672
原创 Integer
①特性Integer类不能被继承 Integer类实现了Comparable接口,所以可以用compareTo进行比较并且Integer对象只能和Integer类型的对象进行比较,不能和其他类型比较 Integer继承了Number类,所以该类可以调用longValue、floatValue、doubleValue等系列方法返回对应的类型的值②方法compareTo(Integer ...
2018-09-28 17:48:02
1576
原创 String
①特性:String类是final类,意味着String类不能被继承,所有的方法都默认为final方法 String类是通过char数组来保存字符串的 String对象一旦被创建就不能改变了 当我们创建一个新的字符串是,JVM首先会检查字符串常量池,如果已经存在,就直接取出该字符串的实例引用,如果不存在,则实力会该字符串,并放入常量池中②常用方法equals(Object c) ...
2018-09-27 14:42:02
181
原创 JVM-基础
JVM内存结构:程序计数器、堆、栈、方法区、直接内存,运行时常量池的区别程序计数器:是一块较小的内存空间,可以把它看成是当前线程所执行的字节码的行号指示器,字节码解释器就是通过改变计数器的值来选取下一条需要执行的字节码指令。Java虚拟机的多线程是通过线程轮流切换并分配处理器执行时间的方式来实现的,任何时间,一个处理器都只会执行一条线程,因此为了线程切换后能恢复到正确的位置,每个线程都需要一个独...
2018-09-26 16:34:59
189
原创 HashMap详解
①特性非线程安全 hashMap的映射不是有序的 key、value都可以为null②常用方法get(Object key) put(Object key,Object value) remove(Object key) remove(Object key,Object value) isEmpty() size() clone() clear() entrySet(...
2018-09-03 15:13:18
695
原创 ArrayList详解
①定义ArrayList是一个动态数组,也是我们常用的集合,它允许任何元素的插入,甚至包括null。每一个ArrayList都有一个初始化的容量(10),该容量代表了数组的大小,随着容器中容量的不断增加,容器的大小也会随着增加。在每次向容器中增加元素时,会进行容量检查,当快溢出时,会进行扩容操作。②特性 允许插入的元素重复 插入的元素是有序的 动态扩容 非线...
2018-08-31 11:11:40
42064
1
原创 Java-面试题
JDK与JRE的区别JDK是Java开发工具,它不仅提供了Java程序运行所需的JRE,还提供了一些列的编译、运行等工具,如javac、java等。JRE只是Java程序的运行环境,它最核心的内容就是JVM(Java虚拟机) 及核心类库。环境变量CLASSPATH的作用保存的是一些目录和jar文件的地址,这些路径为Java程序在编译和运行的时候搜索类而用的。动态的提供类加载路径命令...
2018-08-29 18:24:54
146
原创 Servlet-发送电子邮件
①Servlet发送电子邮件用 Servlet 发送一封电子邮件是很简单的,但首先您必须在您的计算机上安装 JavaMail API 和 Java Activation Framework)JAF)。您可以从 Java 网站下载最新版本的 JavaMail mail.jar 1.4.5 您可以从 Java 网站下载最新版本的 JAF(版本 1.1.1) activation.jar②文...
2018-08-28 16:02:56
1855
原创 Servlet-文件上传功能
①所需文件 1.上传页面 upload.jsp 2. Servlet 后端逻辑处理 UploadServlet.java以下是 UploadServlet 的源代码,同于处理文件上传,在这之前我们先确保依赖包已经引入到项目的 WEB-INF/lib 目录下:下面的实例依赖于 FileUpload,所以一定要确保在您的 classpath 中有最新版本的 commons-fi...
2018-08-28 15:39:30
250
原创 Servlet-Session跟踪
①HTTPSession-维持Web服务器和Web客户端之间的会话@WebServlet("/httpSession")public class SessionTest extends HttpServlet { @Override public void doGet (HttpServletRequest req, HttpServletResponse res...
2018-08-28 11:29:14
229
原创 Servlet-cookie处理
①cookie定义 cookie是存储在计算机上的文本文件,并保留了各种跟踪信息②Cookie 常用方法 --public void setMaxAge(int expiry) 该方法设置 cookie 过期的时间(以秒为单位)。如果不这样设置,cookie 只会在当前 session 会话中持续有效。 --public String getName() ...
2018-08-27 18:01:25
517
原创 Servlet-异常处理
①当Servlet抛出一个异常时,在web.xml使用error-page元素指定对特定异常或Http状态码做出相应的Servlet调用示例:@WebServlet("/errorHandler")public class ErrorHandler extends HttpServlet{ @Override public void doGet(HttpSer...
2018-08-27 09:38:38
1777
原创 Servlet-过滤器
①Servlet过滤器的三个方法public interface Filter { /** init-method */ public void init(FilterConfig config) throws ServletException; /** called by the container each time a request or response ...
2018-08-24 16:00:54
171
原创 Servlet -表单数据
浏览器通过两种方法将数据传给web服务器,分别为Get方法和Post方法①Get方法 ---请求的所有信息以字符串的形式显示在浏览器上,长度限制为1024个字符 http://localhost:8080/get?name=111&age=1 实例:@WebServlet("/get")public class GetForm extends HttpSer...
2018-08-23 10:57:12
364
原创 Servlet-简介
①Servlet是什么 servlet是来自Web浏览器或其他客户端Http请求 和 服务器上的数据库或应用程序之间的中间层②Servlet架构 ③Servlet职责 读取客户端发送的数据(显示和隐式,http表单,http请求,cookies等),处理数据并生成结果集(可能需要访问数据库),最终响应到客户端。④创建Servlet的三种方式(...
2018-08-22 16:58:28
243
原创 Java多线程编程核心技术总结——Lock的使用(四)
①使用ReentrantLock类1.使用ReentrandLock实现同步示例代码:public class MyService { private Lock lock = new ReentrantLock(); public void testMethod() { lock.lock(); for (int i = 0; i < 5; i...
2018-07-03 15:42:15
268
原创 Java多线程编程核心技术总结——线程间的通信(三)
概论:线程是操作系统中独立的个体,但这些个体如果不经过特殊的处理就不能成为一个整体。线程间的通信就是成为整体的比用方案之一,可以说,是线程间进行通信后,系统之间的交互性会更强大,在大大提高CPU利用率的同时还会使程序员对各线程任务在处理的过程中进行有效的把控与监督。①等待/通知机制1.不使用等待/通知机制实现线程间通信示例代码:public class MyList { private v...
2018-07-02 10:11:11
206
原创 Java多线程编程核心技术总结——对象及变量的并发访问(二)
①方法内的变量为线程安全 如果是方法内部的私有变量,则不会存在“非线程安全”问题,所得结果也就是“线程安全”的了。public class HasSelfPrivateNum { public void addI(String username) { try { int num = 0; if (username.equ...
2018-06-28 14:20:19
209
原创 Java多线程编程核心技术总结——基础(一)
①进程和线程的概念 进程:操作系统结构的基础,是一次程序的执行;是一个程序及其数据在处理机上顺序执行时所发生的活动; 线程:在进程中独立运行的子任务 *通过查看Windows任务管理器中的列表,完全可以将内存中的exe文件理解成进程,进程是受操作系统管理的基本运行单元,比如QQ.exe就是一个进程,QQ.exe运行时就有很多的子任务在同时运行,那些子任务就可以理解为“线程”在工作...
2018-06-25 11:19:53
213
原创 Redis五种数据类型及常用操作
①结构图:②Redis_key键 keys * -- 查看当前库所有数据 exists key的名字 --普安段某个key是否存在 move key db --移除key到指定分库 expire key(秒) --设置过期时间 ttl key --查看过期时间127.0.0.1:...
2018-06-21 17:16:13
332
原创 正则表达式(notepad++实战运用)
<1.运用场景,契约文档到实体类转变> 某公司有一份契约,如下 开发人员需要根据契约写出对应的实体类,当参数较多是,所开发的时间就比较多,这时候我们可以通过notepad++,用正则表达式进行替换 操作步骤 ①复制契约具体参数到notepad++ ②写一个正则表达式,使之可以匹配到任意一行 (?i)(?s)^([a-z]+)\s+\[?([a-z0...
2018-06-14 13:49:10
8806
原创 java8—streamAPI(四)
<streamApI(一)> 1.中间操作 2.筛选与切片 filter -- 接收lambda,从流中排除某些元素。 limit(n) -- 截断流,使其元素不超过给定数量。 skip(n) -- 跳过元素,返回一个扔掉了前n个元素,不足n个元素,则返回一个空流。与limit 互补。 distinct -- 筛选...
2018-06-13 11:23:24
180
原创 java8—四大核心函数式接口(二)
<java8内置的四大核心函数式接口> Consumer<T> :消费型接口 void accept(T t); Supplier<T> :供给型接口 T get(); Function<T,R>:函数型接口 R apply(T t); Predicate<T> :断言型接口 boo...
2018-06-13 10:21:44
486
原创 java8—方法引用与构造器引用(三)
<1.方法引用>若lambda体中的内容有其他方法已经实现了,可以使用“方法引用”(可以理解为方法体引用是lambda表达式的另外一种体现) 主要有三种语法格式: 对象::实例方法名 类::静态方法名 类::实例方法名 备注:1)lambda方法体中的参数列表和返回值要和函数式接口中的参数列表和返回值保...
2018-06-13 09:40:33
685
原创 java设计模式之责任链模式
①UML设计:②定义:职责链模式(称责任链模式)将请求的处理对象像一条长链一般组合起来,形成一条对象链。请求并不知道具体执行请求的对象是哪一个,这样就实现了请求与处理对象之间的解耦③示例:public abstract class Leader { private Leader nextLeader; public abstract void deal(Vocation voca...
2018-06-11 17:19:44
222
原创 java设计模式之调停者模式
①UML设计②定义:调停者模式包装了一系列对象相互作用的方式,使得这些对象不必相互明显引用,从而使它们可以较松散地耦合。当这些对象中的某些对象之间的相互作用发生改变时,不会立即影响到其他的一些对象之间的相互作用。从而保证这些相互作用可以彼此独立地变化。③示例:/** * 抽象调停者角色 */interface Mediator { //让调停者去负责同事类的交互 void ...
2018-06-11 11:20:20
279
原创 java设计模式之门面模式
①UML设计:②定义:为一个复杂的系统提供一个简单的入口,提高子系统的独立性③示例:/** * 构建子系统-cpu */public class CPU{ public void startup(){ System.out.println("cpu startup");} public void shutdown(){ Syste.out.println("cpu ...
2018-06-08 16:27:35
385
原创 java设计模式之状态机模式
①UML设计:②定义:不同的状态,不同的行为,每个状态有着相应的行为③示例:public class OpenState implements LiftState { //拥有一个电梯对象,用于更新电梯当前状态 Lift lift; public OpenState(Lift lift) { //通过构造函数引入电梯的实例化对象 this....
2018-06-08 15:46:15
23184
7
原创 java设计模式之享元模式
①UML设计②定义及使用场景:利用共享的方式解决大量创建销毁导致额外开销③示例:/** * 构建享元角色接口 */public interface Flyweight{ void action();}/** * 构建具体享元类 */public class ConcreteFlyweight implements Flyweight{ @Override publi...
2018-06-07 18:09:40
177
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人