自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 收藏
  • 关注

原创 连接池

连接池概述:连接池就是一个装有与数据库连接的容器,通过连接池预先同数据库建立一些连接放在内存中,当应用程序需要建立连接时直接从连接池中申请一个使用,使用完毕后在归还给连接池为什么要有连接池?建立与数据库的连接是一种非常耗时,耗资源的行为,可以通过使用连接池早已建立好的连接优化这一行为三种常见的连接池:DBCP连接池,c3p0连接池,阿里德鲁伊Druid连接池DBCP连接池使用步骤:...

2019-12-24 22:45:58 440

原创 JDBC

JDBC概述:JDBC(Java Data Base Connectivity),即Java连接数据库,是Java定义的一套和数据库建立连接的规范(接口),要想用Java代码去操作数据库,必须实现该接口,实现该接口的这些实现类,被称之为数据库驱动Java代码操作数据库一般分为六个步骤:(1)导入数据库的驱动jar包一般在工程中创建一个目录lib,然后将jar包导入该目录中,最后记得要让...

2019-12-23 15:52:48 355

原创 约束

约束概述:数据库中的约束,即对应插入的数据进行限定,为了保证数据的有效性和完整性常见的约束:主键约束、非空约束、自增长约束、非负约束、唯一约束、外键约束主键约束:primary key特点:主键修饰的字段,非空且唯一,一张表中只能有一个主键...

2019-12-22 16:44:41 449

原创 数据库

MySQL在使用数据库之前,先要知道有哪些SQL语句SQL:结构化查询语言,是一种规范,所有关系型数据库都遵循这个规范,但各家数据库允许存在差异,这种差异叫做方言SQL语句具体分为四部分:(1)DDL(Data Definition Language):数据定义语言,主要操作对象是库,表,如建库,删库等(2)DML(Data Manipulation Language):数据操作...

2019-12-22 14:59:52 333

原创 JSON对象

JSON概述:JOSN(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于编程语言的文本格式来存储和表示数据,简洁和清晰的层次结构易于阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率语法格式:{键:值,键:值…}其中,JSON中的键都是字符串格式,值可以是很多类型演示:<!DOCTYPE html><ht...

2019-12-21 17:20:22 110

原创 BOM和DOM

BOM概述:BOM,浏览器对象模型,将浏览器的各个组成部分看成对象,这些对象由浏览器创建,可以直接使用组成部分:window(窗口对象),location(地址栏对象),history(历史记录对象),Navigator(浏览器对象),screen(屏幕对象)window对象属性:可以通过该对象获取其他对象,例如获取地址栏对象:window.document;方法:<!DOC...

2019-12-21 15:25:49 79

原创 JS对象

JS对象数组对象(JS Array)JS中的数组跟Java中的集合一样,创建方式:(1)new Array();(2)new Array(size);(3)new Array(ele0,ele1,…,elen);注意事项:(1)JS中的数组长度是可变的;(2)JS中的数组可以存储多种数据类型,但一般自己使用都是存储的同种数据类型;(3)JS中的数组元素没有赋值,就是未定义Underfine...

2019-12-21 15:25:24 108

原创 JS基础

JS基础概述:JS(JavaScript)是一门网页脚本语言,主要用来做网页特效JS与HTML结合的方式(1)内部结合:将JS代码写到一对< script type=“text/javascript”>< /script>标签中即可(2)外部结合:单独创建一个文件,将JS代码写到文件中,然后页面引用这个文件,一般开发选择外部结合,例如创建一个myjs文件,用&lt...

2019-11-28 20:24:28 115

原创 CSS基础

CSS

2019-11-27 20:09:55 163

原创 HTML基础

HTML概述:HTML(HyperText Markup Language):超文本标记语言,可用记事本,写字板或者专业的IDE编写HTML文件,供浏览器解析;HTML标记两端有两个符号“<”和“>”,前者是开始标记,后者是结束标记,通常都是成对出现组成结构:一个HTML文档主要由3部分组成:(1)< html> < /html>(2)< head...

2019-11-25 21:53:07 111

原创 JDK1.8新增的日期时间

日期时间类

2019-11-19 21:07:39 414

原创 Stream流

Stream流概述:是一个来自数据源的元素队列,元素是特定类型的对象,形成一个队列,数据源就是流的来源,可以是集合,数组等流操作:中间操作:操作后返回一个新流,比如map,limit等,该操作只有在终止操作时才执行终止操作:把流变成不结果是流的值,比如forEach等获取Stream流的方式:(1)通过集合中的stram方法(2)通过Arrays中的静态方法stream方法,传入一...

2019-11-14 20:55:48 110

原创 Lambda表达式

Lambda表达式概述:JDK1.8新增语法,可以简写匿名内部类使用:引入一个箭头符号->,符号左边写实现接口的抽象方法中的形参,右边写实现逻辑;另外,只有函数式接口才支持Lambda表达式,即接口中只有一个抽象方法;是否是函数式接口可以通过FunctionalInterface来检测应用package org.westos2.demo8;//检测接口是否是函数式接口@Fun...

2019-11-14 19:57:27 212

原创 枚举

枚举概述:一个类只能存在几个固定的对象就是枚举,可以使用这些固定对象表示固定的值自定义枚举package org.westos2.demo6;//自定义枚举,定义四个方向:前后左右public class Direction { String name; public Direction(String name) { this.name = name;...

2019-11-14 17:11:28 110

原创 反射

类的加载概述:当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三步来实现类的初始化加载时机:(1)创建类对象时(2)访问类的静态变量或调用类的静态方法(3)通过反射来创建类对象(4)初始化某个类的子类(5)通过java.exe命令运行某个类类加载器概述:将.class文件加载到内存中,并生成对应的.class对象分类及其作用:反射...

2019-11-14 16:12:35 117

原创 网络编程

网络编程计算机网络:指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统网络编程:用来实现网络互连的不同计算机上运行的程序间可以进行数据交换网络模型其中,TCP/IP每层含义不一样三要素:IP地址、端口号、传输协议IP地址(确定一台计算机的唯一性):...

2019-11-13 20:13:58 327

原创 设计模式

设计模式概述:是一套被反复使用、多数人知晓、经过分类编写、代码设计经验的总结,可以让代码更容易被他人理解、保证代码可靠性以及代码的结构更加清晰分类创建型模式(创建对象的):单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式行为型模式(对象的功能):适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式结构型模式(对象的组成):模板方法模式、命令模式、迭代器模式...

2019-11-07 22:11:16 125

原创 线程池和定时器

线程池概述:程序启动一个新线程成本是较高的,所以使用线程池可以很好的提高性能,线程池里是多个线程,当每一个线程代码执行完后,并不会死亡,而是再次回到线程池里成为空闲状态,等待下一个对象使用常用方法public static ExecutorService newCachedThreadPool():根据任务的数量来创建线程对应的线程个数 public static ExecutorSer...

2019-11-07 19:34:10 269

原创 线程的等待唤醒机制和内存可见性问题

等待唤醒机制概述:不同种类线程间的等待唤醒机制,就是线程之间的一个通信问题例如:生产线程生成一个资源后,等待并唤醒消费线程,消费线程消耗资源后,等待并唤醒生产线程常用方法void wait():让线程等待void notify():唤醒线程void notifyAll():唤醒所有线程package org.westos.demo6;//假设把学生信息看作一个资源pu...

2019-11-07 17:09:07 247

原创 线程安全问题

通过一个案例引出线程安全问题

2019-11-07 12:16:24 161

原创 进程和线程

进程概述:进程就是正在运行的应用程序,使系统进行资源分配和调用的独立单位,每一个进程都有它自己的内存空间和系统资源多进程的意义:我们使用的计算机可以一边玩游戏,一边听音乐,而这就是多进程的体现那么,对于单核计算机而言,游戏进程和音乐进程使同时运行的吗?不是,同时运行只是我们的感觉,CPU在同一时刻只能执行一个进程,之所以会有这种感觉,是因为CPU在这些进程间不断的高速切换,而这种速度使我...

2019-11-06 22:38:11 145

原创 其他流

数据输入输出流概述:可以直接读写基本数据类型数据输入流:DataInputStream数据输出流:DataOutputStream构造方法:DataInputStream(InputStream in) :使用指定的底层 InputStream 创建一个 DataInputStreamDataOutputStream(OutputStream out) :创建一个新的数据...

2019-11-05 20:20:42 106

原创 字符流

编解码编码:把字符串转换成字节数组解码:把字节数组转换成字符串package org.org.westos.demo;import java.io.UnsupportedEncodingException;public class MyClass { public static void main(String[] args) throws UnsupportedEncodi...

2019-10-31 22:57:52 125

原创 字节流

IO流概述:用于设备之间数据的传输分类:(1)按数据流向划分:输入流:读数据输出流:写数据(2)按数据类型划分:字节流:可以读写任何类型的文件字符流:只能读写文本文件字节流当然,还有其他子类,主要学习文件FileOutputStream构造方法FileOutputStream(File file)FileOutputStream(String name)...

2019-10-31 16:47:49 183

原创 File类

File概述:文件和目录(文件夹)路径名的抽象表示形式路径的分类:绝对路径:带有盘符号的路径相对路径:没有带盘符号的路径,默认在根目录下构造方法File(String pathname):根据一个路径得到File对象File(String parent, String child):根据一个目录和一个子文件/目录得到File对象File(File parent, String c...

2019-10-31 14:23:32 7492

原创 异常

异常概述:异常就是Java程序在运行过程中出现的问题分类(以骑行为例):(1)错误,该问题不予处理,是严重问题,例如在骑行过程中车胎飞了(2)异常,该问题可以处理,是一般问题,它又分为编译期异常和运行期异常编译期异常:必须处理,不处理程序运行不了,例如在骑行之前发现车胎没气了运行期异常:可处理也可不处理,例如在骑行过程中车胎没气了,我们可以选择处理,也可以选择不继续骑行继承体系图:...

2019-10-31 10:49:35 126

原创 Map接口以及三个子类

Map概述:将键映射到值的对象,一个映射不能包含重复的键,每个键最多只能映射到一个值Map接口和Collection接口的不同:(1)Map是双列集合,Collection是单列的(2)Map的键唯一,Collection的子体系Set是唯一的(3)Map集合的数据结构只针对键,跟值无关,Collection集合的数据结构针对元素有效功能概述(1)添加功能V put(K...

2019-10-27 16:10:46 295

原创 Set接口以及三个子类

之前提到过Set是Collection的子接口,下面了解一下Set集合Set概述:一个不包含重复元素的Collection特点:唯一和无序,唯一要重写Hashcode方法和equals方法,无序是指存储和获取的顺序都是不确定的演示:HashSetList item...

2019-10-26 15:48:15 455

原创 泛型

泛型概述:是一种把类型明确工作推迟到调用方法或创建对象时才确定的特殊类型格式:<数据类型>,这里的数据必须是引用类型好处:(1)避免了强制转换类型(2)把运行期的问题提前到了编译期,因为泛型只在编译期有效,在运行期就擦除了应用(以ArrayList为例)泛型可以运用在类,接口和方法上(1)泛型类(2)泛型接口(3)泛型方法通配符增强f...

2019-10-26 13:20:25 81

原创 List接口以及三个子类

在上一章提到过List是Collection的子接口,下面我们来了解一下List集合List概述:集合中的元素有序,且每一个元素都会存在一个索引,元素可重复特有功能:List既然是Collection的子接口,那么自然可以使用父接口中的功能,但除此之外,它还有一些特有的功能void add(int index,E element):在指定索引处添加元素E remove(int ind...

2019-10-24 22:34:59 184

原创 集合与Collection根接口

集合概述:集合相当于一个容器,在之前的学习中,也有一个容器,就是数组,但数组只能存储同一类型的数据,而且一旦创建长度就不可改变,会很不方便,这时候Java就提供了集合,通过比较两个容器来认识一下集合数组和集合区别:(1)数组的长度固定,而集合长度是可变的(2)数组可以存储基本类型,也可以存储引用类型,而集合只能存储引用类型(3)数组只能存储同种数据类型的元素,而集合可以存储不同类...

2019-10-24 20:18:48 311

原创 插入排序

直接插入排序所谓直接插入排序,就是逻辑上给数组的第一个元素拿出来组成一个新数组,然后在依次拿原数组的后面元素跟新数组里的元素从后到前依次比较大小,如果原数组拿出来的元素比新数组中的元素小,则拿出来的这个元素排在新数组元素的前面,这样,每个元素比完,逻辑上的数组也就完成了排序例如:原始数组元素是49,38,65,97,76,直接插入排序步骤为:从1索引开始插入:[49],38,65,97,7...

2019-10-24 17:00:55 90

原创 常用类

Scanner类概述:用于获取用户的键盘输入常用方法:(1)构造方法Scanner(InputStream source):构造一个新的Scanner,生成指定输入流扫描的值InputStream,字节输入流,System in:标准输入流,通常,次六对应键盘输入(2)nextxxx():从键盘中录入不同类型数据,xxx代表数据类型package org.westos.test;...

2019-10-23 21:26:05 298

原创 正则表达式

正则表达式概述:指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串,其实就是用来定义一些规则,去校验数据是否符合所定义的规则正则的一些常用语法package org.westos.test;public class Test2 { public static void main(String[] args) { //正则相关语法 ...

2019-10-22 21:30:48 154

原创 String及相关类

String概念:String字符串就是由多个字符组成的一串字符序列定义格式:方式一:采用new方式例如:String str = new String(“abc”);方式二:采用字面量直接赋值的方式例如:String str = “abc”;特点:字符串是一个常量,一旦被创建,不可改变,指的是字符串的内容不可改变,因为它是在方法区的字符串池分配地址,但可以改变指向例如...

2019-10-19 18:49:06 142

原创 Object类

Object类概述:Object类是类层次结构的根类,所有类都直接或间接的继承该类,所以它是顶层父类构造方法:public Object(),该方法是一个空参构造方法,在使用这个类时,直接创建对象例如:Object obj = new Object();Object类的常用方法(1)hashCode()方法:调用这个方法,即返回该对象的哈希码值,默认情况下,根据对象的地址计算...

2019-10-19 13:13:02 135

原创 快速排序(从小到大)

快速排序所谓快速排序,就是选数组中的一个元素作为基准数,将比这个基准数小的放在基准数左边,比这个基准数大的放在基准数右边,这样就把数组以基准数为中心分成左右两个区,再对左右两个区重复操作,直到左右子区中只有一个元素位置实现思路(挖坑填坑):1.选一个基准数形成一个坑2.从右向左找元素,一直找到一个比基准数小的元素,然后把这个元素放到基准数形成的坑里,再这个索引位置形成一个新坑3.从左向右...

2019-10-17 16:06:38 1882

原创 二分查找

在数组中查找我们想要的元素,有两种方法,一种就是基本查找,也就是挨个对比元素,另一种就是二分查找,就是将数组分成两个区去查找基本查找先来看看基本查找,基本查找首先要做的就是遍历数组,然后拿我们想要的那个元素跟数组中的元素一一对比,如果一样,那么,此时索引所对应的元素就是待查找的元素代码实现:package org.westos.demo12;//基本查找public class De...

2019-10-17 14:32:40 134

原创 选择排序(从小到大)

选择排序原理:从0索引开始,依次和后面的元素比较,小的往前放,第一次完毕,最小值出现在最前面先画一张,解释一下原理:第一次选择排序:拿原数组来比较,从索引为0元素开始,即先比较20跟60,20较小,所以位置不变,再比较20跟80,位置不变,再比较20跟50,位置不变,再比较20跟10,10比20小,所以交换位置;这样,第一次排序就结束了第二次选择排序:拿第一次排序后的数组比较,从索引为1...

2019-10-16 23:22:18 3630

原创 冒泡排序(从小到大)

冒泡排序原理:比较两个相邻元素,大的放在后,第一次完毕后,最大值在数组的最后先看一下图示,然后在解释:第一次冒泡排序时:先比较20跟60,大的放后面,所以位置不变,再比较60跟80,一样不变,再比较80跟50,80较大,交换80跟50的位置,在拿交换后的80跟10比较,80同样较大,跟10交换位置。这样,第一次冒泡排序就结束了,看图可知,数组元素最大的80已经在最后面了第二次冒泡排序时:...

2019-10-16 22:15:06 14978

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除