自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一名小白的进阶之路

一名正在努力的大四应届生

  • 博客(68)
  • 收藏
  • 关注

原创 MySQL常用操作集合

一、MySQL语言分类(SQL:Structure Query Language:结构化查询语言)DDL(Data Definition Language):数据定义语言:定义数据库,数据表它们的结构:create(创建)、drop(删除)、alter(修改)DML(Data Manipulation Language):数据操纵语言:主要用来操作数据:insert(插入)、update(...

2020-02-05 16:14:35 4212

原创 Java之浅析线程同步问题(synchronized的使用)

为什么要使用synchronized?主要针对并发编程的安全问题:共享数据或多线程共同操作共享数据时保证同一时刻只有一个线程可以使用共享资源。问题发现:定义一个售票类,继承Thread,重写run方法,初试ticket值为100。运行结果:省略前面部分,只截取出错展示问题分析:在程序中我们定义了如果票数小于等于0时则立即停止循环,但是现在出现了第0张票和第-1张票。...

2020-01-31 21:12:46 5216 1

原创 Java之对象操作流一次读取多个对象的问题

问题描述:在操作对象流的时候应该有很多小伙伴遇到在读取对象时不知文件内对象的具体个数,所以读取时不知末尾结束判断标志,或者以为返回的是对象所以末尾结束标志就会是null,导致每次读取程序都会报错,针对此种问题下面给大家两种解决办法:(提示:自定义对象后需要将对象实现接口Serializable,让对象启用序列化功能,否则无法写进文件)1.将所有对象先用集合打包好,再写入,不管集合存有多少个对象...

2020-01-30 08:29:26 3831 3

原创 Java之浅析BufferedInputStream和BufferedOutputStream的高效原理

/*普及:计算机中内存的访问速度(运算效率)比硬盘的访问速度(运算效率)要高得多*/在代码中使用BufferedInputStream和BufferedOutputStream能够提高数据的传输效率原因如下:①当只使用FileInputStream和FileOutputStream进行数据复制时,每次FileInputStram从数据源(硬存)中读取一个字节,然后交给b,再把b给Fil...

2020-01-27 16:45:18 3299 3

原创 Java之为什么IO流中read方法返回值是int类型?

提问:为什么IO流的read()方法读取的是一个字节但是返回却是int,而不是byte?/*提示:数据在内存里以补码的形式存储是为了简化计算机的结构设计,同时也提高了运算速度。在计算机系统中,数值一律用补码来表示和存储*/byte类型-1的源码:10000001 反码:11111110 补码:11111...

2020-01-27 13:58:20 2871

原创 Java之HashSet除重原理

HashSet的除重原理:先判断HashCode方法,后判断equals方法,若两者同时返回true则认为对象与集合中对象重复,若HashCode返回false则不再执行equals。HashCode方法:根据一套特殊的计算方法返回一个整形值,此值被HashSet用来定位对象的存储地址。equals方法:判断两个对象的内容是否相等。除重判断流程:HashSet会将新增对象与集合中的每一...

2020-01-22 16:00:10 2680

原创 Java之asList使用注意事项

asList():用于将一个数组转换成集合。演示:输出结果:1.用asList将数组转换成List集合不能增加或者删除元素,只能使用集合中的方法。//相当于集合的方法更多,转换成集合可以有更多操 作,若对转换后的集合进行删除或者添加会报不支持操作的异常。2.若将基本数据类型的数组用isList方法转换成集合,会被(整体)当成一个对象转换,因为集合中保存的都是对象。...

2020-01-21 21:58:21 1052

原创 IDEA创建XML Configuration File时没有Spring Config的选项

一、问题 二、解决办法 1、未配置pom.xml文件,找到pom.xml文件,写入spring依赖,刷新项目 2、未在maven->conf->settings.xml中设置maven本地仓位置 ①maven目录->conf->settings.xml ②在本地新建一个文件,作为本地仓,添加第56行配置,将新建文件路径写入,重启项目 3、未配置...

2021-03-17 18:25:16 8712 9

原创 Maven初学基础

Maven安装及基本操作一、Maven的安装 1.maven各个版本安装包下载地址:https://archive.apache.org/dist/maven/maven-3 2.点击所要下载版本,点击,根据电脑所用操作系统选择对应maven文件下载二、环境变量配置 1.首先复制解压后的maven文件目录,例如:E:\maven\apache-maven-3.6.3 2.右键我的电脑—>属性—>高级—>环境变量 3.在系统变量中点击...

2021-03-04 15:01:31 274 1

原创 DBUtils

一、概念DbUtils是Apache组织提供的一个对JDBC进行简单封装的开源工具类库,使用它能够简化JDBC应用程序的开发,同时也不会影响程序的性能。简要来说就是配合数据库连接池简化对数据库的操作代码,数据库连接池简化了连接操作,而DBUtils简化了增删改查操作,底层由DbUtils工具实现,我们只需要关注用法和了解实现逻辑即可。二、常用实现类ArrayHandler:查询到的单个...

2020-02-11 11:54:45 6124 1

原创 数据库连接池之DBCP和C3P0

一、数据库连接池之DBCP1、导DBCP的jar包2、使用代码①手写配置代码②使用配置文件加载配置配置文件代码:配置文件url后面的test是数据库名字,根据自己的改。username和password是数据库登陆账户和密码。除了四行必要代码,初始化连接可根据需求进行删改。3、与正常使用数据库一样,用dataSource对象获取连接即可。二、数据库连...

2020-02-10 23:22:50 214

原创 事务

一、事务Transaction,其实指的一组操作,里面包含许多个单一的逻辑,只要有一个逻辑没有执行成功,那么就算失败,即所有数据都回归最初的状态(回滚)。二、为什么要有事务?为了确保逻辑的成功。例子:银行的转账,假若A用户给B用户转账,A刚做完转账的操作,然后银行停电了,B的账户没有收到钱但是A的余额已经减少了,所以此时是一次不成功的事务,需要回滚都最初未操作的状态。三、使用命令行...

2020-02-10 23:04:18 153

转载 IDEA中使用jstl报http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar错

一、发现问题运行引用了jstl的jsp页面报http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar错二、原因分析可能一:版本问题JSTL1.0 的声明是:<%@ taglib prefix="c" uri="http://java.sun.com/jstl/co...

2020-02-09 17:32:29 3317

原创 Servlet之Cookie、Session学习

Cookie一、Cookie简介服务器给客户端的一份数据,数据会存储在客户端上。二、应用场景自动登录、浏览记录、购物车等三、为什么要有CookieHttp的请求是无状态的。客户端和服务器在通讯的时候,是无状态的,其实就是客户端在第二次来访的时候,服务器根本不知道这个客户端是否以前来访过,即每次来访都是陌生人。为了更好的用户体验,更好的交互,所以引进了Cookie,从公司层面...

2020-02-08 23:21:03 191

原创 Servlet之重定向和请求转发的区别

一、重定向写法1、老式写法response.setStatus(302);response.setHeader("Location","跳转页面路径");2、现在常用写法response.sendRedirect("跳转页面路径");二、请求转发写法request.getRequestDispatcher("跳转页面路径").forward(request,respon...

2020-02-08 20:32:05 380

原创 IDEA下Servlet实现类使用System输出控制台中文乱码问题

问题描述:在Servlet实现类中使用System输出控制台,控制台中文会乱码。博主输出了一下控制台默认字符集:输出结果:解决办法:在VM options:输入-Dfile.encoding=UTF-8此时再次测试控制台默认编码是:UTF-8。...

2020-02-08 13:47:54 1606

原创 Html中使用<a>标签href属性进行传参时关于?和&的注意点

引言:今天博主在用href传参数发现参数名获取不到或者参数值获取为空,后来发现全是平常习惯敲空格惹的祸。注意一:?后面直接跟所传参数名,别习惯性敲空格或者别的字符,否则所敲空格和别的字符会被认为和参数名是一个整体名字。举栗:使用href在?后传参时敲了一个空格,servlet接收时需要把空格也带上才能接收成功。String value = request.getParameter...

2020-02-08 13:16:20 9591 2

原创 XML学习笔记

一、XML作用1、可以用来保存数据;2、可以用来做配置文件;3、数据传输载体;二、文档声明1、简单声明,version:解析这个xml的时候,使用什么版本的解析器解析<?xml version="1.0" ?>2、encoding:解析xml中的文字的时候,使用什么编码去解析翻译<?xml version="1.0" encoding="gbk"...

2020-02-06 21:40:40 721

原创 Dao(Data Access Object)模式

1 .新建一个dao接口,里面声明数据库访问规则2.新建一个dao的实现类,具体实现早前定义的规则3.直接使用实现类觉得有用的小伙伴请点赞、评论或收藏一下多支持支持博主小弟,跪安~~...

2020-02-04 18:24:56 734

原创 MySql之使用JDBC基本步骤

一、基本步骤Connection conn = null;Statement st = null;ResultSet rs = null;try { //1.注册驱动 //DriverManager.registerDriver(new com.mysql.jdbc.Driver()),此方式也可以,但是会注册两次驱动,因为Driver内部有一个 ...

2020-02-04 11:20:10 586

原创 Java之JDK8三个新特性

一、接口中可以定义有方法体的方法1.定义非静态方法,方法需要用default修饰,实现类不需要对其重写,可实例化后直接调用。①接口中定义方法②实现类(空,不需要重写)③Main方法调用2.定义静态方法,直接 接口名.方法名 即可调用。①接口People中定义②Main方法调用二、局部内部类调用局部变量,局部变量可不用final修饰,系统会自动为局...

2020-02-04 09:41:14 851

原创 Java之枚举类的实现及相关方法

枚举概述:将变量的值一一列出来,变量的值只限于列举出来的值的范围内。一、自定义实现枚举类(了解)方法一:方法二:方法三:二、通过Enum类实现枚举(掌握)1.三种实现方法方法一:方法二:方法三:2.枚举类常见的方法① ordinal() :返回当前枚举项在枚举类的序数。② compareTo(枚举项):比较此枚举与指定对象的顺...

2020-02-03 23:13:50 2264 1

原创 Java之模板设计模式

模板设计模式概述:模板方法模式就是定义一个算法的骨架,而将具体的算法延迟到子类中实现。优点:使用模板方法模式,在定义算法骨架的同时,可以很灵活的实现具体的方法,满足用户灵活多变的需求。缺点:如果算法骨架有修改的话,则需要修改抽象类。一、定义一个抽象类二、定义一个子类三、Main方法实现...

2020-02-03 22:46:14 225

原创 Java之反射机制知识点

一、类的加载概述和加载时机1.类的加载概述 当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载、连接、初始化三步来实现对这个类进行初始化。 加载:指将class文件读入内存,并为之创建一个Class对象。任何类被使用时系统都会建立一个Class对象 连接:验证 是否有正确的内部结构,并和其他类协调一致。 准备 负责为...

2020-02-03 22:31:18 408

原创 Java之网络编程练习—字符串反转

题目描述:客户端键盘录入一个字符串,然后发给服务器,由服务器进行反转后交还给客户端。一、客户端实现代码public class Practice_Client { public static void main(String[] args) throws IOException { //创建客户端连接,指定连接ip和端口号 Socket socke...

2020-02-03 11:26:45 357

原创 Java之网络编程练习—客户端向服务器端上传文件

演示以本机作为服务器,从本地任选一个文件传输到服务器(本机)。一、客户端实现代码public class Upload_Client { public static void main(String[] args) throws IOException { //1.创建客户端,并连接指定ip和端口号 Socket socket = new Sock...

2020-02-03 11:15:26 1303

转载 cmd命令对java程序进行编译时出现:编码GBK的不可映射字符

原因:由于JDK是国际版的,在编译的时候,如果我们没有用-encoding参数指定JAVA源程序的编码格式,则java.exe首先获得我们才做系统默认采用的编码格式,也即在编译JAVA程序时,若我们不指定源程序文件的编码格式,JDK首先获得操作系统的file.encoding参数(它保存的就是操作系统默认的编码格式,如win2k,他的值为GBK),然后JDK就把我们的JAVA源程序从file.en...

2020-02-02 20:12:41 500

原创 如何在命令行下运行IDEA的Java程序?

一、首先进入Java代码所在包的目录演示:博主所要运行的MainTest类在包test2下,包test2在项目的src文件下,所以包目录即为src下二、编译Java程序在编译时需要带着包名,编译格式:javac 包名/类名.java若编译完成后会在Java程序所在目录下生成一个类名.class文件三、运行程序在运行时也需要带着包名,格式:java 包名.类名...

2020-02-01 20:47:58 7782 1

原创 Java之简单工厂设计模式

一、简单工厂设计模式概述:定义一个具体的工厂类负责创建各个类的实例。演示:①定义一个抽象父类动物类②定义几个子类③定义工厂类④Main方法中直接调用各个子类优点:客户端不需要再负责对象的创建,从而明确了各个类的职责。缺点:这个静态工厂类负责所有对象的创建,如果有新的对象增加,或者某些对象的创建方式不同,就需要不断地修改工厂类,不利于后期维护。...

2020-02-01 17:03:54 818

原创 Java之Timer类计时器提醒功能

Timer类:依赖系统日期,提供计时器通知服务。schedule(TimerTask task,Date time):安排在指定的时间执行指定的任务。TimerTask:任务类,任务实现方法为抽象方法run。所以需要定义一个子类继承TimerTask,然后重写run方法,即将所需执行任何写入方法体。Date:时间类,设置任务执行时间,依托系统日期为准。以schedule方法为例子,...

2020-01-30 22:02:20 1409

原创 Java之单例设计模式

一、饿汉式二、懒汉式()注释:与饿汉式的区别在于并没有一开始就实例化本类对象,而是等到调用的时候才实例化。三、无名版(了解即可)三、饿汉式和懒汉式的区别:1.饿汉式是空间换时间(不管用否都实例化),懒汉式是时间换空间(第一次用时实例化,每次调用都需要先判断是否为空)。2.在多线程访问时,饿汉式不会创建多个对象,而懒汉式有可能会创建多个对象。2的注释:当第一个...

2020-01-30 20:20:23 427

原创 Java之约瑟夫环

约瑟夫环:假设有N人坐在一起,现在给他们编号1-N,现在选取编号每次是k的倍数的人出局,直至最后留下一个人。题目:假设现在有8人,给他们编号1,2,....,8,现在选取编号是3的倍数的人出局,请问最后一个幸运的人编号是几?结果:当传入参数为8时,输出结果为7。...

2020-01-29 22:01:10 374

原创 Java之File类过滤器实现、功能方法等知识点

1.File类的概念File类:用于得到一个路径对象,路径可分为相对路径和绝对路径。相对路径:相对于某个位置下,只需要写相对位置下后的路径即可。绝对路径:绝对路径是一个固定的路径,从盘符开始。2.File类的构造方法:①File(String pathname):根据一个路径得到File对象。②File(String parent,String child):根据一个目...

2020-01-26 22:54:40 491

原创 Java之自定义异常

为什么要自定义异常?程序员可以通过异常的名字区分到底是什么样的异常,有针对性的Debug。如何自定义异常?创建一个异常类继承Exception或RuntimeException,类名格式最好为“异常错误名+Exception”。演示:①创建一个专门处理年龄越界的异常类②主代码调用输出结果:注意:若是继承的父类是RuntimeException(运行时异常)时...

2020-01-26 15:39:40 388

原创 Java之finally关键字的面试题

1.final,finally和finalize的区别final:修饰类时,不能被继承。 修饰方法时,不能被重写。 修饰变量时,只能赋值一次。finally:是try语句中的一个语句体,不能单独使用,用来释放资源。finalize:是一个方法,当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。2.如果catch里面...

2020-01-26 14:52:24 722

原创 Java之try...catch异常处理

一、异常处理的格式之try...catch 1.try(用来检测异常)...catch(用来捕获异常)...finally(释放资源),catch可以有多个,跟哪个匹配上则执行哪个里的语句,3种搭配格式如下: /*finally的特点:若程序开始执行try,并且在finally之前JVM并未退出,则finally中的语句一定会执行。 finally的作用:用户释放资源...

2020-01-26 12:17:03 1752

原创 Java之HashMap和Hashtable的区别

共同点:底层都是哈希算法,都是双列集合区别:①HashMap是线程不安全的,效率高,JDK1.2版本的 Hashtable是线程安全的,效率低,JDK1.0版本的②HashMap可以存储null键和null值 Hashtable不可以存储null键和null值觉得有用的小伙伴请点赞、评论或收藏一下多支持支持博主小弟,跪安~~...

2020-01-23 11:46:54 169

原创 Java之Map集合

一、常用方法简述1.添加功能 V put(K key,V value):添加元素 如果键是第一次存储,则直接存储元素,返回null。 如果键不是第一次存储,就用值把以前的值替换,返回以前的值。2.删除功能 void clear():移除所有的键值对元素 V remove(Object key):根据键删除键值对元素,并把值返回。3.判断功能...

2020-01-23 11:45:02 535

原创 Java之TreeSet除重、排序实现方式

TreeSet:接口Set的一个实现类,除了具有除重的功能外与还可以对集合对象进行排序。compareTo方法:实现除重和排序。当返回负数(小于)则存在左边,返回正数(大于)则存在右边,返回0(相等)则不存。使用方式:①自然排序TreeSet类的add()方法中会把存入的对象提升为Comparable类型调用对象的compareTo()方法和集合中的对象比较 //若对象为自定...

2020-01-22 22:02:03 895

原创 Java之增强for的概述和使用

增强for:简化数组和Collection集合的遍历,底层实现依赖的是迭代器(Iterator)格式:for(元素数据类型 变量:数组或Collection集合){ 使用变量; }例子:①遍历数组输出:②遍历对象输出结果:注意:在增强for循环中不能进行删除操作,因为底层实现是Iterator迭代器,而删除需要使用Itera...

2020-01-21 20:17:11 307

空空如也

空空如也

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

TA关注的人

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