- 博客(33)
- 收藏
- 关注
原创 Mysql调优方案
从数据库引擎的方面考虑(InnoDB、Myisam、NDB、Falcon等等):InnoDB(行锁):行锁:仅支持一个事务操作数据库表的某一行数据,当一个事务拿到行锁,另一事物无法操作此行数据包括select优点:粒度小、支持CRUD事务缺点:获取锁和释放锁需要花费资源、容易发生死锁 共享锁(读):允许多个事务共用一行数据,在修改表数据时不能使用此情况排他锁(写,...
2019-02-16 20:19:13 282 1
原创 Redis特性及使用场景
Redis支持的几种类型?String、hash(类似java的map)、list(链表)、set(集合)、zset(无需集合)Redis有哪几种持久化技术?1.RDBRDB包括两种持久化命令:save、bgsavesave命令:在主线程中工作,因此有可能阻塞主线程其他操作redis的请求,尽量避免使用此命令bgsave命令:从主线程中fork(分叉)出一个子进程,父...
2019-02-16 16:36:00 399
原创 request、response
request请求:浏览器输入url地址或在网页上的跳转加载都是浏览器对服务器发出的一次request请求request包含三部分:请求行、请求头、请求体请求行:提交方式 get/post 、uri资源路径 、http协议和版本号 请求头:(host)访问的url地址(referer)上一个资源的路径(user-agent)客户端使用的浏览器类型和内核.....
2018-11-01 15:54:48 296
原创 Servlet、Filter、Listener
Servlet:Servlet就是运行在服务器端的程序,用来处理客户端的请求并且响应数据给回浏览器的动态web资源技术Servlet相对于普通Java类程序:普通Java类需要main方法才能调用运行,而Servlet是由Tomcat服务器调用,不需要main方法Servlet可以接受用户的请求数据和响应数据给浏览器传输数据 Servlet3.0相较于Servlet2....
2018-10-24 22:17:39 207
原创 Jsoup和JsoupXpath使用方法
Jsoupjsoup 是一款Java 的XML、HTML解析器,可直接解析某个URL地址、HTML文本内容和已经存在的文件。XML DOM和HTML DOM一样,都会将xml文件中的所有标签记载到内存并生成一个document对象保存他们 jsoup获取xml、html文件的document对象三种方式:1.解析一个字符串获取Document对象static Docume...
2018-09-20 09:02:25 16574 2
原创 JavaScript正则表达式验证表单和DOM编程
正则表达式格式 : var reg = /正则表达式/[模式] 正则表达式的边界匹配器: 以^开头,以$结尾如果没有写清边界,则从整段字符串中匹配是否有满足正则表达式的内容而不是从头开始匹配(类似String的contains()方法)var reg1 = /^[0-9]{4}$/;var reg2 = /[0-9]{4}/;String str = "a5324"...
2018-09-15 15:54:46 417
原创 自定义注解和Annotation类使用
注解相当于一个标记,是类的组成部分使用者可以使用注解传递参数(自定义注解)注解也可用于检验内容(@Override, @FunctionalInterface)注解也可用于强制运行内容(@before)等等... 自定义注解:格式:public @interface 注解名{格式1:数据类型 属性名();格式2:数据类型 属性名() default 默认值;...
2018-09-06 14:52:16 910
原创 JdbcTemplate——增删查改MySQL数据
JDBC已经能满足大部分用户需求,可是每次使用时都要自己获取PrepasteStatement对象然后再调用sql语句,再关闭资源对象,这些步骤每次都要做,显得有点多余 Spring对JDBC的封装就是使用了JdbcTemplate,这可以让JdbcTemplate自己处理资源对象使用者只需要传入sql语句即可。 本文例子均是使用这个user数据库表 JdbcTem...
2018-09-03 17:27:21 1508
原创 连接池——Druid、c3p0、动态代理
其实Java程序与MySQL数据库连接时,创建连接对象是最消耗资源的然后而每次使用完就关闭然后需要的时候又开启,就会非常消耗内存资源所以可以将不用的连接对象存放在一个容器中,而不是真正的关闭释放 连接池是创建和管理数据库连接的缓冲池技术连接池就是一个容器,连接池中保存了一些数据库连接,这些连接是可以重复使用的 创建一个自定义连接池对象:1.类实现DataSourc...
2018-08-29 10:43:34 624
原创 MySQL常用语句
MySQL数据库中,主要分为DDL(数据库和表的操作语句)、DML(表内数据的增删改操作语句)、DQL(查询语句)等 DDL:show databases; 显示所有数据库use 数据库名; ...
2018-08-29 08:45:14 272
原创 反射——Field类,Method类,Constructor类
反射:反射是一种机制,利用该机制可以在程序运行过程中对类进行解剖并操作类中的方法,属性,构造方法等成员与曾经普通的通过创建类对象再调用方法或者成员变量的方式完全不同反射是通过获取Class对象,然后对Class对象里的数据执行相关操作的过程 Class类:反射的前提:获取类的字节码对象,也就是Class类对象下面例子均用一个Person类作例子:public ...
2018-08-25 14:40:39 888
原创 集合与数组的Stream流对象使用方法
JDK1.8之后,得益于lambda表达式带来的函数式编程,引入了全新的Stream概念以前想筛选一个集合中的元素,需要遍历集合,然后判断是否满足条件再删除可有了Stream流后,可以直接使用函数式编程的Predicate接口来筛选 集合获取流:所有的Collection 集合都可以通过stream 默认方法获取流ArrayList<Integer> lis...
2018-08-24 09:05:29 20541 2
原创 函数式接口Predicate、Function、Supplier、Consumer
继JDK1.8之后 为了丰富lambda的使用场景java更新了java.util.function的包,里面放了很多函数式接口下列接口说明均转自API文档: BiConsumer<T,U> 表示接受两个输入参数并且不返回结果的操作。 BiFunction<T,U,R> 表示接受两个参数并产生结果的函数。 ...
2018-08-23 08:50:13 513
原创 lambda表达式与6种方法引用格式
继JDK 1.8之后,更新了lambda的新特性lambda是一种强调做什么,而不是用什么去做的语法而匿名内部类则是强调如何去做,用了什么去做这件事的语法 函数式接口:有且仅有一个抽象方法的接口,就叫函数式接口常用@FunctionalInterface标签标示@FunctionalInterfacepublic interface test{ public v...
2018-08-22 16:02:06 9577 5
原创 网络编程(Socket)——InetAddress类、UDP传输、TCP传输
C/S结构:全称为Client/Server结构,是指客户端和服务器结构开发成本高,维护周期长,需要开发客户端和服务器B/S结构:全称为Browser/Server结构,是指浏览器和服务器结构开发成本较低,维护周期短,只要开发一个服务器即可 网络三要素: 通过IP找主机,通过端口号找程序,通过协议确定如何传输IP地址:网络设备的唯一表示,通过IP地址可以找到...
2018-08-19 20:48:23 1046
原创 (四)IO流——对象流、打印流
对象流:使用对象流之前,很明显需要一个自定义的对象可是普通的自定义类创建的对象并不能被对象流序列化我们要让这个自定义类实现一个Serializable接口(Serializable是一个标志性接口,接口中无任何内容)例:(省略了构造方法、get/set方法、toString方法)public class Person implements Serializable{ ...
2018-08-19 16:05:09 799
原创 (三)IO流——缓冲字节流、缓冲字符流、转换流
缓冲流也就是对4个基本的FileInputStream、FileOutputStream、FileReader、FileWriter流的增强 相当于在传输流文件时,将资源放入缓冲区数组中待缓冲区数组满了,或者调用了flush()方法或close()方法关闭流的话缓冲区数组才会将内容转职目标文件或程序中 通过缓冲区读写,减少系统IO次数,从而提高读写的效率。 ...
2018-08-19 14:34:01 3452 1
原创 (二)IO流——字符流,FileReader、FileWriter
字符流仅能对文本文件进行操作 FileReader类:FileReader(File file) 根据给定的File对象创建FileReader对象File f = new File("c.txt");FileReader fr = new F...
2018-08-18 17:27:38 259
原创 (一)IO流——字节流,FileInputStream、FileOutputStream、Properties集合
IO:实际就是Java源程序与操作系统上的文件进行的操作 根据数据的流向分为:输入流和输出流。输入流 :把数据从其他设备上读取到内存中的流。输出流 :把数据从内存 中写出到其他设备上的流。 根据数据的类型分为:字节流和字符流。字节流 (Stream):以字节为单位,读写数据的流。能对任意文件进行操作字符流 (Writer、Reader):以字符为单位,读写数据的流。...
2018-08-18 15:47:48 944
原创 File类的基本操作方法、FileFilter过滤器、递归
File类:顾名思义就是对操作系统上的文件进行操作的一个类绝对路径:从盘符开始,是一个文件的完整路径,有唯一性例 " F:\Program Files\aa.txt " 相对路径:相对于某个目录的路径,不具唯一性例 " aa.txt "只要不是以盘符开始的路径就是相对路径,默认的相对位置就是当前项目根目录 构造方法:public File(String path...
2018-08-17 09:56:49 3060 1
原创 线程池——Runnable、Callable
线程池:顾名思义就是一个装了许多线程的池子主要用来创建和管理线程对象的容器(达到线程复用的效果)好处:1.减少资源的消耗,避免频繁的创建和销毁线程2.提高程序的响应速度3.提高线程的可管理性 创建线程池对象,需要使用Executors工具类的方法public static ExecutorService newFixedThreadPool(int nThreads...
2018-08-14 11:04:25 424
原创 保证线程安全——synchronized同步代码块、同步方法、Lock互斥锁
在使用线程时,经常会出现多个线程同时抢夺一个共享资源,结果导致得不到预期的结果为了防止此类现象发生,也就引出了线程同步的概念。 线程同步:规定的代码块中,两个或多个线程之间要按顺序执行(不能同时执行)线程安全:两个或两个以上的线程在执行任务过程中,操作共享资源仍然得到正确结果 作个例子:两个售票窗卖同一类票,100张票写一个自定义类实现Runnable接口pu...
2018-08-13 21:51:41 750
原创 线程——Thread类、Runnable接口
线程:进程内部的一个独立执行单元,一个进程可以同时并发的运行多个线程进程:是指一个内存中运行的应用程序,每个进程都有一个独立的内存空间 在java运行中,一个main主方法就是一个线程若要开启第二个线程就要使用Thread类使用java程序可以同时并发的运行两段不相同的代码 Thread类构造方法:public Thread() ...
2018-08-13 20:10:00 246
原创 泛型Genericity——泛型方法、泛型类、泛型接口、泛型上下限
泛型:可以在类或方法中预支地使用未知的类型。 泛型变量也可以理解为是一种数据类型的变量。泛型变量的命名规则:只要符合标志符的命名规则即可,一般使用一个大写字母表示 public static void main(String[] args) { test(12); test("xxx"); ...
2018-08-11 09:18:22 337
原创 处理异常方式,try.....catch()
异常 :指的是程序在执行过程中或编译过程中出现了问题,最终会导致JVM的非正常停止异常的根类是java.lang.Throwable ,其下有两个子类:java.lang.Error java.lang.Exception 这个就是我们平时说的异常 Throwable体系:Error:严重错误Error,无法通过处理的错误,只能事先避免。Exception:表示异常,异常产生...
2018-08-10 19:51:47 5426
原创 双列集合——Map接口
Collection中的集合,元素是孤立存在的,向集合中存储元素采用一个个元素的方式存储相反Map中的集合,元素是成对存在的。每个元素由键与值两部分组成 Map<K,V> 集合特点:不能包含重复的键,值可以重复;每个键只能对应一个值 Map的常用子类:HashMap:存储数据采用的哈希表结构,元素的存取顺序不能保证一致。要保证键的唯一、不重复,需要重写键的h...
2018-08-08 10:59:55 276
原创 Collection单列集合 ——Set接口
java.util.Set 接口和java.util.List 接口一样,同样继承自Collection 接口,它与Collection 接口中的方法基本一致,并没有对Collection 接口进行功能上的扩充。与List 接口不同的是, Set 接口中元素无序,并且都会以某种规则保证存入的元素不出现重复。Set 接口常用子类:HashSet集合LinkedHashSet集合...
2018-08-08 09:13:49 243
原创 Collections工具类常用方法,Comparator和Comparable比较器
java.utils.Collections 是集合工具类,用来对集合进行操作。常用方法:public static <T> boolean addAll(Collection<T> c, T... elements) 往集合中添加一些元素ArrayList<Integer> list = new ArrayList<>...
2018-08-07 17:25:52 489
原创 Collection单列集合 ——List接口
Collection单列集合中包含List和Set两大类本文介绍的是List接口List接口的特点:元素存取有序,有索引,并且可重复 而List中又分为ArrayList、LinkedList两大类ArrayList集合:底层是数组结构,元素增删慢,查找快,线程较不安全,效率高LinkedList集合:底层是链表结构,元素增删快,查找慢,线程较安全,效率低 ...
2018-08-07 16:23:07 334
原创 String类、StringBuilder类常用方法
String概述:不可变的字符序列构造方法:String() 创建一个空的字符串对象String(String original) ...
2018-08-05 10:17:42 778 2
原创 JAVA面向对象三大特性之一:多态
概述多态是继封装、继承之后,面向对象的第三大特性生活中,比如交通工具的种类可以分为飞机、汽车、轮船再比如交通工具的运行方式飞机运行方式是飞在天上、汽车是在马路上开、轮船是在海上行驶可见,同一行为,通过不同的事物,可以体现出来的不同的形态多态,描述的就是这样的状态。 使用多态的前提:1. 存在继承或者实现关系2. 子类或实现类必须重写父类方法3. 父类引用指向...
2018-08-04 10:07:06 3768
原创 JAVA面向对象三大特性之一:封装(private)
概述(private):面向对象编程语言是对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界无法直接操作和修改。封装可以被认为是一个保护屏障,防止该类的代码和数据被其他类随意访问。要访问该类的数据,必须通过指定的方式。适当的封装可以让代码更容易理解与维护,也加强了代码的安全性。 封装格式:成员变量private 数据类型 变量名; 例如 ...
2018-08-04 09:05:10 596
原创 JAVA面向对象三大特性之一:继承(extends)
继承(extends)的概述:现实生活中的继承,孩子继承父辈的财产,孩子可以直接拿父辈的财产来使用,Java中的继承是指在现有类的基础上定义一个新的类,现有类称为父类,新的类称为子类,子类会自动拥有父类的可继承的内容. 1. 学生类属性:姓名,年龄行为:吃饭,睡觉public class Student { private String name;...
2018-08-03 21:01:58 335
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人