自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 8 Mybatis

Mybatis的概述mybatis是一个持久层框架,用java编写的。它封装了jdbc操作的很多细节,使开发者只需要关注sql语句本身,而无需关注注册驱动,创建连接等繁杂过程它使用了ORM思想实现了结果集的封装。ORM:Object Relational Mapping对象关系映射简单的说,就是把数据库表和实体类及实体类的属性对应起来,让我们可以操作实体类就实现操作数据库表。mybatis的环境搭配<!--打包方式--> <packagin

2021-04-21 12:12:54 154

原创 9 maven

src/main/java —— 存放项目的.java 文件 src/main/resources —— 存放项目资源文件,如 spring, hibernate 配置文件 src/test/java —— 存放所有单元测试.java 文件,如 JUnit 测试类 src/test/resources —— 测试资源文件 target —— 项目输出位置,编译后的 class 文件会输出到此目录 pom.xml——maven 项目核心配置文件Maven的生命...

2021-04-10 11:11:57 104

原创 7 数据库

什么是数据库用于存储和管理数据的仓库数据库的特点持久化存储数据的。其实数据库就是一个文件系统 方便存储和管理数据 使用了统一的方式操作数据库----SQL使用管理员打开cmdnet start mysql : 启动mysql的服务net stop mysql:关闭mysql服务exit quit退出什么是SQLStructed Query Language:结构化查询语言其实就是定义了操作所有关系型数据库的规则。每一种数据库操作的方式存在不一样的地方

2021-04-08 16:57:15 196

原创 6 JSP el Jstl

jsp1.指令:用于配置jsp页面,导入资源2.格式:<%@ 指令名称 属性名1=属性值 属性名2=属性值2 ...%>3.分类:page:配置jsp页面的contentType:等同于response.setContentType() 设置响应体的mime类型以及字符集 设置当前jsp页面的编码(只能是高级的IDE才能生效,如果使用低级工具,则需要设置pageEncode属性设置当前页面的额字符集)import:导包errorPage:当前...

2021-04-04 16:23:22 81

原创 5 Cookie 和 Session 回话技术

会话技术会话:一次会话中包含多次请求和响应 {一次会话:浏览器第一次给服务器资源发送请求,会话建立,直到有一方断开为止} 功能:在一次会话的范围内的多次请求间,共享数据 方式:客户端会话技术:Cookie 服务器端会话技术:SessionCookie:概念:客户端会话技术,将数据保存到客户端快速入门使用步骤创建Cookie对象,绑定数据 new Cookie(String name,String value) 发送Cookie对象...

2021-04-04 12:15:14 149

原创 4 Tomcat 和 servlet的笔记

Tomcat部署直接将项目放到webapps目录即可 简化部署:将项目打成一个war包,再将war包部署到webapps目录下 (war包会自动解压缩) 配置conf/server.xml文件 (在<Host>标签体中配置 <Context docBase="D:\hello" path="/hehe" /> * docBase:项目存放的路径 ...

2021-03-28 16:11:14 59

原创 2JavaScript

JavaScript概念概念:一门客户端脚本语言运行在客户端浏览器中的。每一个浏览器都有javaScript的解析引擎脚本语言:不需要编译,直接就可以被浏览器解析执行了功能:可以来增强用户和html页面的交互过程,可以用来控制html元素,让页面有一些动态的效果,增强用户的体验EMCAScript:客户端脚本语言的标准1.基本语法: 1.与html结合方式: 内部JS: 定义<script>,标签体内容就是js代码 外部J...

2021-03-16 09:20:07 100

原创 【1】HTML CSS

javaWeb概念概述: javaWeb:使用java语言开发基于互联网的项目软件架构:1.C/S:client/Server 客户端/服务器端 在用户本地有一个客户端程序,在远程有一个服务器端程序 如:QQ,迅雷... 优点:用户体验好 缺点:开发,安装,部署,维护,麻烦2.B/S :Browser/Server 浏览器/服务器端只需要一个浏览器,用户通过不同的网址(URL),客户访问不同的服务器端程序 优点:开发,安装,部署,维护,简单 缺点:如果应...

2021-03-12 09:58:08 82

原创 【5】文件的复制 IO流的应用

/* * 练习:文件的复制 * 将地址D:\3.jpg复制到E盘中 * */public class Test9 { public static void main(String[] args) throws IOException { //创建FileInputStream对象,构造方法写入读取的文件地址 FileInputStream fis = new FileInputStream("D:\\3.jpg"); //创建FIleOutputStream对象,构造方法写.

2021-02-06 18:08:24 78

原创 【18】IO OutputStream 一次写入多个字节 续写和换行 InputStream 自已读取多个字节 字符流 close和flush区别 换行和续写

IO的概述OutputStream/* * java.io.OutputStream:字节输出流 * 此抽象类是表示输出字节流的所有类的超类 * * 定义了一些子类共性的成员方法: * public void close():关闭此输出流并释放与此相关联的任何系统资源 * public void flush():刷新此输出流并强制任何缓冲的输出字节被写出 * public void write(byte[] b):将 b.length字节从指定的字节数组写入此输出流。

2021-02-06 17:47:28 895

原创 【17】File类 File类的静态方法 相对路径和绝对路径 File类的构造方法 获取功能 判断功能 创建和删除 遍历目录 过滤器

File类/** java.io.File类* 文件和目录路径名的抽象表达形式* java把电脑中的文件和文件夹(目录)封装为一个File类,我们可以使用File类对文件和文件夹进行操作* 我们可以使用File类的方法* 创建一个文件/文件夹* 删除文件/文件夹* 获取文件/文件夹* 判断文件/文件夹是否存在* 获取文件的大小* File类是一个与系统无关的类,任何的操作系统都可以使用这个类的中的方法** 重点:记...

2021-02-03 11:34:28 597

原创 【4】Lambda的练习 Lambda的省略

一给定一个厨子 Cook 接口,内含唯一的抽象方法 makeFood 请使用Lambda的标准格式调用 invokeCook 方法,打印输出“吃饭啦!”字样public interface Cook { public abstract void makefood();}public class Demo { public static void main(String[] args) { //原始的方式是:调用invokeCook方法,传递参数Cook对象,重写makef

2021-02-01 10:24:42 111

原创 【16】Lambda表达式

Lambda表达式简化了代码/* * Lambda表达式的标准格式: * 由三部分组成: * 1.一些参数 * 2.一个箭头 * 3.一段代码 * 格式: * (参数列表)->{一些重写方法的代码}; * 解释说明格式: * ():接口中抽象方法的参数列表,没有参数,就空着,有参数就写出参数,多个参数使用逗号隔开 * ->:传递的意思,把参数传递给方法体{} * {}:重写接口的抽象方法的方法体 * */public class Test.

2021-01-31 17:53:27 61

原创 【15】线程池概念 线程池的具体操作

线程池概念其实就是一个容纳多个线程的容器,其中的线程可以反复使用,省去了频繁创建线程对象的操作,无需反复创建线程而消耗过多资源。 合理利用线程池能够带来三个好处: 降低资源消耗。减少了创建和销毁线程的次数,每个工作线程都可以被重复利用,可执行多个任务。 提高响应速度。当任务到达时,任务可以不需要的等到线程创建就能立即执行。 提高线程的可管理性。可以根据系统的承受能力,调整线程池中工作线线程的数目,防止因为消耗过多的内 存,而把服务器累趴下(每个线程需要大约1MB内存,线程开的越多,

2021-01-31 17:26:06 106

原创 【14】等待唤醒机制 一个吃货和包子铺之间的案例

等待和唤醒 wait和notify小案例(消费之和生产者包子关系)/* * 等待唤醒案例:线程之间的通信 * 创建一个顾客线程(消费者):告知老板要的包子种类和数量,调用wait方法,放弃CPU执行,进入到WAITING状态(无限等待) * 创建一个老板线程(生产者):花了5秒做包子,做好了之后,调用notify方法,唤醒顾客吃包子 * * 注意: * 1.顾客和老板线程必须使用同步代码块包裹起来,保证等待和唤醒只有一个在执行 * 2.同步使用的锁对象那

2021-01-31 10:50:36 109

原创 【13】线程 并发与并行 线程和进程 创建多线程的方式二种 获取线程的名称2种方式 解决线程安全的三种方式

线程并发与并行并发:CUP一会执行这个,一会执行那个并行:CUP同时执行程序进程和线程进程:在内存中运行的程序线程:线程是进程的一部分线程的调度一个是分时调度 :所有线程轮流使用 CPU 的使用权,平均分配每个线程占用 CPU 的时间。 抢占式调度:优先让优先级高的线程使用 CPU,如果线程的优先级相同,那么会随机选择一个(线程随机性),Java使用的为抢占式调用主线程主线程:执行主(main)方法的线程单线程程序:...

2021-01-30 17:05:50 151

原创 【3】用户注册账户,如果注册的名字存在,提示已经存在,不能使用该名字注册,如果没有,则显示注册成功

/* * 注册一个名字,如果存在就提示:用户被注册, * */public class RegisterName { //定义一个数组,存放已经注册了的用户名 static String[] name={"张三","王五"}; public static void main(String[] args) { //接收用户注册的名字 Scanner sc = new Scanner(System.in); System.out.println("请输入要注册的名字"); St.

2021-01-27 16:33:19 2302

原创 【12】异常 分类 异常产生的解析 throw requireNonNull throws try..catch finally 子父类异常 自定义异常类 finally代码块

异常java.lang.Throwable类是java语言中所有错误或异常的超类 Exception:编译期异常,进行编译(写代码)java程序出现的问题 RuntimeException:运行期异常,java程序运行过程中出现的问题 异常就相当于程序得了一个小毛病(感冒,发烧),把异常处理掉,程序可以继续执行(吃点药,继续革命工作) Error:错误 错误就相当于程序的了一个无法治愈的毛病,必须修...

2021-01-27 12:20:32 130

原创 [11]JDK9新特性

List接口,set接口,Map接口,里面增加了一个静态方法of,可以结合集合一次性添加多个元素使用前提: 当集合中存储的元素的个数已经确定了,不在改变时使用注意:of方法只适用于list接口,set接口,Map接口,不适用于接口的实现类 of方法的返回值是一个不能改变的集合,结合不能在使用add,put方法添加元素,会抛出异常 set接口和Map接口在调用of方法的时候,不能有重复的元素,否则会抛出异常...

2021-01-22 18:02:17 69

原创 【2】用户输入字符,判断每个字符出现的次数

public class Test27 { public static void main(String[] args) { /* * 计算一个字符串每个字符出现的次数 * */ //1使用Scanner获取用户输入的字符 Scanner sc = new Scanner(System.in); System.out.println("请输入一段字符"); String src = sc.next(); //2创建Map集合,key是字符串中的字符,value是字符的.

2021-01-22 17:41:11 243

原创 【10】Map集合 HashMap集合 LinkedHashMap集合 Map接口的方法 Map集合遍历的2种方式 Map存储自定义类型 Hashtable

Map集合java.util.Map<k,v>集合Map集合特点:Map集合是一个双列集合,一个元素包含两个值(一个key,一个value) Map集合中的元素,key和value的数据类型可以相同,也可以不同 Map集合中的元素,key是不允许重复的,value是可以重复的 Map集合中的元素,key和value是一一对应HashMap集合java.util.HashMap<k,v>集合 implements Map<k,v>接口H.

2021-01-22 17:19:46 115

原创 【9】Collections集合工具类 方法 addAll shuffle sort sort(list,comparato)

Collections集合工具类java.util.Colletions是集合工具类,用来对集合进行操作,部分方法如下:addAll 往集合中添加多个元素 shuffle 打乱集合中的元素public class Test19 { public static void main(String[] args) { /* * public static <T> boolean addAll(Collection<T> c, T... elements)..

2021-01-21 17:44:43 219

原创 【8】Set集合 HashSet集合 不能重复的原理 HashSet自定义类型 LinkedHashSet集合 可变参数

set接口java.util.Set接口 extends CollectionSet接口特点不允许存储重复的元素 没有索引,没有带索引的方法,也不能是使用普通的for循环遍历HashSet集合Java.util.HashSet集合 implements Set接口不允许存储重复的元素 没有索引,没有带索引的方法,也不能是使用普通的for循环遍历 是一个无序的集合,存储元素和取出元素的顺序有可能不一致 底层是一个哈希表(查询的速度非常快) HashSet<S

2021-01-19 18:30:36 351

原创 【7】List集合 list集合特点 list接口中方法 ArrayList LinkedList接口的方法 Vector集合

List集合Java.util.List特点:有序的集合,存储元素和取出元素的顺序是一致的 有索引,包含了一些带索引的方法 允许存储重复的元素List接口中带索引的方法注意:操作索引的时候,一定防止索引越界异常 /* * public void add(int index, E element) : 将指定的元素,添加到该集合中的指定位置上。 * public E get(int index) :返回集合中指定位置的元素。 * publi

2021-01-19 11:57:52 75

原创 【6】泛型 优缺点 泛型在类中的定义和使用 泛型在方法的定义和使用 泛型在接口中的定义和使用 泛型的通配符?

泛型泛型:是一种未知的数据类型,当我们不知道使用什么数据类型的时候,可以使用泛型 泛型也可以看出是一个变量,用来接收数据类型创建集合对象,不使用泛型 好处:集合不适用泛型,默认的类型就是object类型,可以存储任意类型的数据 弊端:不安全,会引发异常创建集合对象,使用泛型 好处:避免了类型转换的麻烦,存储的是什么类型,取出的就是什么类型 把运行期异常,提升到了编译期 弊端:泛型是什么类型,只能存储什么类型...

2021-01-18 18:13:01 357

原创 【5】集合 Collection接口(add remove clear contains inEmpty size toArray)迭代器(hasNext next) 增强for循环

集合集合:集合是Java中提供的一种容器,可以用来存储多个 数据集合和数组有什么区别?数组的长度是固定。集合的长度是可变的 数组中存储的是统一类型的元素,可以存储基本数据类型值。集合存储的都是对象。而且对象类型可以不一致。在开发中一般对象多的时候,使用集合进行存储集合框架Collection接口 /* * Collection是所有单列集合的父接口,这些方法可用于操作所有的单列集合 * public boole...

2021-01-17 18:41:26 137

原创 【4】包装类 拆箱和装箱 自动拆箱和装箱 String类型和基本数据类型的转换

包装类基本数据类型的数据,使用起来非常方便,但是没有对应的方法来操作这些数据所以我们可以使用一个类,把基本数据类型的数据包装起来,这个类叫包装类在包装类中可以定义一些方法,用来操作基本类型的数据| 基本类型 | 对应的包装类(位于java.lang包中) || ------- | --------------------- || byte | Byte || short | Short || ...

2021-01-16 18:17:46 87

原创 【3】StringBuilder 字符缓冲区 和String比较 两个构造器 append toString reverse

StringBuilderjava.lang.StringBuilder 字符串缓冲区,可以提高字符串的效率String类:String是字符串常量,,它们的值在创建后不能更改字符串底层是一个被final修饰的数组,不能改变,是一个常量 private final byte [] value 字符串的相加,内存中就会有多个字符串,占用空间,效率低下 如:String s="a"+"b"+"c"="abc"...

2021-01-16 12:06:08 86

原创 【2】System类 获取毫秒值 复制数组

Systemjava.lang.System提供了大量的静态方法,可以获取与系统相关的信息或系统级操作,在System类的API文档中,常用的方法有:public static long currentTimeMillis():返回以毫秒为单位的当前时间。 public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length):将数组中指定的数据拷贝到另一个数组中。curre.

2021-01-15 18:26:00 457 1

原创 【1】 Calendar对象的使用日期类 get set add getTime

一:Calendar java.util.CalendarCalendar类是一个抽象类(不能直接使用),里面提供了很多操作日期的字段的方法 Calendar类无法直接创建对象使用,里面有一个静态方法叫getInstance,该方法返回了Calendar类的子类 static Calendar getInstance()使用默认时区和语言获得一个日历 下面这个代码是Calendar的使用public static void main(String[] args) {...

2021-01-15 17:54:44 501

原创 练习一 获取一个人到目前为止出生的天数

import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;import java.util.Scanner;/* * 算一个人到目前为止,出生了多少天 * */public class Demo1 { /* * 实现思路: * 1.Scanner 获取出生的日期 利用parse 转成date类型的 * 2.获取当前的日期 * 3.将1.2转行成毫秒.

2021-01-14 18:56:21 228 2

原创 日期格式格式化 DateFormat SimpleDateFormat

/* * DataFormat日期格式化和解析 * 格式化 日期---->文本 * 解析 文本---->日期 * */public class Test6 { public static void main(String[] args) throws ParseException { /* * DateFormat两个成员方法 * String format(Date date)按照指定的模式,把Date日期,格式化为符合模式的字符串 * Date pa.

2021-01-14 18:42:31 133

原创 Date的用法

public class Test5 { public static void main(String[] args) { /* * Date d = new Date() 如果new的是空参,则输出的是当前的时间 * * Date d = new Date(Long num) 如果new的是有残,则输出的是将参数【毫秒】转化成时间 * */ Date d = new Date(); System.out.println(d);//获取当前的时间 D.

2021-01-14 18:02:44 171

原创 Math工具的使用 abs,ceil floor round

/* * Math工具 * */public class Test4 { public static void main(String[] args) { double a = 12.5; double b = 3.1415926; double c = -12.666; /* * abs(参数) 将参数中的数取绝对值 * */ double abs = Math.abs(c); System.out.println(abs); /* .

2021-01-14 17:47:05 257

原创 与数组相关的工具Arrays

/* * java.util.Arrays 是与数组相关的工具类 * */public class Test3 { public static void main(String[] args) { /*1 * toString(数组) 将数组转换成字符串 [元素1,元素2,元素3] * */ String [] a = {"a","b","cc","ddd"}; String string2 = Arrays.toString(a); System.out.print..

2021-01-14 17:38:22 53

原创 有关String里方法的用法

public class Test2 { public static void main(String[] args) { //创建字符串 String s ="ni hao shi jie wo shi d y t"; System.out.println(s); /*1 * 对于基本数据类型来说 == 比较的是内容 * 对于引用数据类型来说 == 比较的地址 * */ int a =100; int b=100; System.out.prin...

2021-01-14 17:02:52 89

原创 Java随机数

产生随机数的两种方式1.可以用Java.util.Random 里产生一个随机数 参数里的规则是左闭又开的2.Math.Random();产生的随机数是0.0-1.0的范围,不包括1.0 需要制定的范围*N + Mimport java.util.Random;public class Test1 { public static void main(String[] args) {//产生了50-100的随机数 Random r = new Random(); in...

2021-01-14 11:59:09 117

空空如也

空空如也

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

TA关注的人

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