自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 文件归纳,String类和IO流

文件归纳,String类和IO流一,文件归纳/* * 文件归档 * 1. 获取对应当前文件的所有子文件和子文件夹 list or listFiles * 2. 遍历判断是普通问题,还是文件夹 isFile or isDirctory * 3. 分门别类处理 * 3.1 文件处理 * 3.1.1 获取文件后缀名 substring lastIndexOf...

2020-02-26 21:59:40 1360

原创 Java面试题

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2020-11-01 14:13:01 152

原创 Java基础知识复习

一,Java基础知识复习1,break在二重循环中使用,默认情况跳出最近的循环,如果跳出外层循环需要使用标记。2,数组的声明: (1)int[] nums; nums = new int[5]; (2)int[] nums = new int[10]; (3)int[] ages = new int[]{21,18,22,25,30}; (4)int[] ages = {21,18,22,25,30};3,byte,short,char三者在计算时会转换成int类型。

2020-09-12 18:16:16 481 1

原创 Lock锁与Condition接口的面试题(实现三个线程交替输出20遍“ABC“)

Lock锁与Condition接口的面试题(实现三个线程交替输出20遍"ABC")思路分析:(1)首先创建一个锁,因为与读写无关所以用ReetrantLock去创建锁对象lock。(2)其次创建通过锁对象.newCondition()创建三个Condition类型的线程。(3)创建一个线程标记,我是定义int类型的num,num=1代表A线程,num=2代表B线程,num=3代表C线程(4)创建一个记数的变量int类型的count标记循环的次数。(5)建立三个线程。具体代码如下:public

2020-09-10 19:57:08 303

原创 四个窗口卖票

四个窗口买票第一种方法:单线程实现(每个窗口都有100张票互补干扰)流程图代码实现第一种创建线程方法:继承Thread类,重写run方法public class WinTicket extends Thread{ public WinTicket(String name){ super(name); } public WinTicket(){ } //票 private int ticket=100; @Override

2020-09-08 08:52:49 947

原创 简单的Ajax案例

简单的Ajax案例运行效果前端页面<%@ page contentType="text/html;charset=UTF-8" language="java" %><html> <head> <title>AAA</title> <script> function sendAjax(){ // 1. 核心对象 xhr 发送异步请求 处理请求响应

2020-09-07 21:02:06 364

原创 分页查询

分页查询分页查询工具类public class PageBean<T> { //页码 private int pageNum; //总页数 private int pageCount; //页大小 private int pageSize; //总数据个数 private long totalSize; //分页数据 private List<T> data; //开始页码 priva

2020-09-06 18:17:35 155

原创 文件上传和下载

文件上传和下载一,准备工作1,需要导入的jar包2,运行截图2.1,文件上传截图2.2,文件下载截图二,上传文件代码servlet @WebServlet(name = "UploadServlet",value = "/upload") @MultipartConfig(maxFileSize = 1024*1024*5,maxRequestSize = 1024*1024*20) //1 添加MultipartConfig注解 public class UploadServlet

2020-09-06 16:41:25 220

原创 存钱和取钱(多线程)

存钱和取钱存钱类(AddMoney类)public class AddMoney implements Runnable { private BankCard card; public AddMoney(BankCard card){ this.card=card; } @Override public void run() { for(int i=0;i<10;i++){ this.card.sav

2020-08-09 17:08:47 1184

原创 生产者和消费者(三种方式)

生产者和消费者Bread类package com.qf.gp2002_2;/* * wgy * 2020/8/5 * 11:30 */public class Bread { private int id; private String productName; public Bread(int id, String productName) { this.id = id; this.productName = productNam

2020-08-09 17:02:32 679

原创 实现二叉查找树

实现二叉查找树/* * wgy * 2020/8/3 * 14:41 * 实现二叉查找树 */public class BinarySortTree { //二叉树的根节点 private Node root; //元素个数 private int size; public int getSize() { return size; } //添加元素 public void add(int v){

2020-08-09 16:54:06 76

原创 文件以及文件夹的操作

递归显示/删除文件public class Demo1 { public static void main(String[] args) { //listDir(new File("d:\\aaa"),0); deleteList(new File("c:\\")); } public static void listDir(File dir,int level) { System.out.println(getSeprator(le

2020-08-08 14:38:34 139

原创 IO流编程题练习

IO流编程题练习习题一(字节流)利用FileInputStream和FileOutputStream,完成下面的要求:类名 功能描述(1) 用FileOutputStream 在当前目录下创建一个文件“test.txt”,并向文件输出“Hello World”,如果文件已存在,则在原有文件内容后面追加。(2) 用FileInputStream读入test.txt文件,并在控制台上打印出test.txt中的内容。(3) 要求用try-catch-finally处理异常,并且关闭流应放在finall

2020-08-08 12:15:04 1582

原创 字节流与字符流

一,字节流字节流的父类(抽象类)InputStream:字节输入流public int read(byte[] b,int off,int len){}OutputStream:字节输出流public void write(byte[] b,int off,int len){}文件字节流使用文件字节输出流写入文件FileOutputStream:public void write(byte[] b)//一次写多个字节,将b数组中所有字节写出输出流。public class TestFi

2020-08-08 11:54:45 138

原创 进制之间的转换

进制之间的转换1.1 二进制基本数字 0 1规律:逢二进一0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111代表的十进制分别为:11:3 111:7 1010:101.2 二进制转换成为十进制(规律:每位数字乘以2的权次幂(从0开始记次))1.3 十进制转二进制(规律:除2取余,逆序排列)例1:15转二进制例2:50转二进制1.4 十六进制1.5 八进制

2020-07-25 11:22:37 406

原创 Java案例--------(银行ATM案例)

银行ATM案例一,需求分析二,代码展示User类代码public class User { private String cardNo; private String identity; private String username; private String password; private String phone; private double balance; public User() { } publi

2020-07-25 09:20:21 480

原创 数组中五种排序方法(冒泡,选择,插入,希尔,快速排序)以及二分法查找和杨辉三角

五种排序方法以及二分查找和杨辉三角一,冒泡排序(两个相邻的元素进行比较,小的向前,大的向后)public class TestSort { public static void main(String[] args) { //int[] nums={20,8,1,15,23}; int[] nums={10,38,65,97,76,13,27,49,78,34,12,64,1}; System.out.println("排序之前");

2020-07-25 09:12:33 249

原创 Linux

Linux一、引言1.1 开发环境平时大家大多是在Windows或者Mac操作系统下去编写代码进行开发,在开发环境中安装大量的软件,这样会导致环境的稳定性和安全性降低1.2 生产环境是将程序运行在此环境中,供用户去使用。这个环境是有专业的人员去维护,一般人是没有权限去操做生产环境的1.3 测试环境一般克隆一份生产环境,会将开发环境中的程序部署到测试环境中,这个环境的主要目的是去程序进程检测,收集程序中的各种问题,并交给开发人员进行修改1.4 操作系统的选择生产环境中,常用的操作系统

2020-05-19 23:11:19 468

原创 Quartz

Quartz一、引言1.1 简介Quartz :http://www.quartz-scheduler.org/是一个定时任务调度框架。比如你遇到这样的问题:- 想在30分钟后,查看订单是否支付,未支付则取消订单- 想在每月29号,信用卡自动还款- ...- 想定时在某个时间,去做某件事(任务)。Quartz是要做定时任务的调度,设置好触发时间规则,以及相应的任务(Job)即可。二、Quartz使用2.1 导入依赖<dependencies> <

2020-05-18 22:19:24 417

原创 日志

日志一 、 引言1.1 日志概念 在计算机领域,日志文件(logfile)是一个记录了发生在运行中的操作系统或其他软件中的事件的文件,或者记录了在网络聊天软件的用户之间发送的消息。1.2 日志作用 日志是个很重要的东西, 因为程序运行起来以后, 基本上就是一个黑盒子,如果程序的行为和预料的不一致,那就是出现Bug了,如何去定位这个Bug 呢?开发人员能用的工具只有两个。第一种就是单步调试,一步步地跟踪,查看代码中变量的值, 这种办法费时费力, 并且只能在程序员的机器上才能用。第二种就是在特定的

2020-05-15 23:21:02 2602 3

原创 SpringNVC(三)

SpringNVC(三)十二、验证码(非重点)屏障,防止暴力破解12.1 导入jar<!-- Kaptcha --><dependency> <groupId>com.github.penggle</groupId> <artifactId>kaptcha</artifactId> <version>2.3.2</version> <exclusions>

2020-05-14 21:32:12 245

原创 SpringMVC(二)

SpringMVC(二)七、Json处理springMVC默认的Json解决方案选择是 Jackson,所以只需要导入jackson的jar,即可使用。7.1 导入依赖<!-- Jackson --><dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> &l

2020-05-13 21:24:25 86

原创 SpringMVC简单案例(EMP,DEPT)

SpringMVC简单案例(EMP,DEPT)一,布局演示二,代码演示2.1 EmpController类代码package com.qf.controller;import com.qf.entity.Dept;import com.qf.entity.Emp;import com.qf.service.IDeptService;import com.qf.service.IEmpService;import org.springframework.beans.factory.ann

2020-05-12 22:23:14 493

原创 SpringMVC(一)

SpringMVC(一)一、SpringMVC1.1 引言java开源框架,Spring Framework的一个独立模块。MVC框架,在项目中开辟MVC层次架构 对控制器中的功能 包装 简化 扩展践行工厂模式,功能架构在工厂之上1.2 MVC架构MVC : Model(模型) View (视图) Controller(控制器)模型:即业务模型,负责完成业务中的数据通信处理,对应项目中的 service和dao视图:渲染数据,生成页面。对应项目中的Jsp控制器:直

2020-05-11 22:08:50 140

原创 Spring(三)

Spring(三)十四、Spring + MyBatis【重点】14.1 配置数据源将数据源配置到项目中 <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.16</version> </

2020-05-09 23:44:48 111

原创 Spring(二)

Spring(二)十二、代理设计模式12.1 概念将核心功能与辅助功能(事务、日志、性能监控代码)分离,达到核心业务功能更纯粹、辅助业务功能可复用。功能分离12.2 静态代理设计模式通过代理类的对象,为原始类的对象(目标类的对象)添加辅助功能,更容易更换代理实现类、利于维护。静态代理代理类 = 实现原始类相同接口 + 添加辅助功能 + 调用原始类的业务方法。静态代理的问题代理类数量过多,不利于项目的管理。多个代理类的辅助功能代码冗余,修改时,维护性差。12.3 动

2020-05-08 20:57:10 74

原创 Spring (一)

Spring一、引言1.1 原生web开发中存在哪些问题?传统Web开发存在硬编码所造成的过度程序耦合(例如:Service中作为属性Dao对象)。部分Java EE API较为复杂,使用效率低(例如:JDBC开发步骤)。侵入性强,移植性差(例如:DAO实现的更换,从Connection到SqlSession)。二、Spring框架2.1 概念Spring是一个项目管理框...

2020-05-07 22:56:24 166

原创 MyBatis框架(三)

MyBatis(三)十三、MyBatis处理关联关系-多表连接【重点】实体间的关系:关联关系(拥有 has、属于 belong)OneToOne:一对一关系(Passenger— Passport)OneToMany:一对多关系(Employee — Department)ManyToMany:多对多关系(Student — Subject)Table建立外键关系...

2020-05-06 21:39:04 114

原创 MayBatis框架(二)

MayBatis框架(二)七、MyBatis的CRUD操作【重点】7.1 查询标签:< select id="" resultType="" >7.1.1 序号参数绑定public interface UserDao { //使用原生参数绑定 public User selectUserByIdAndPwd(Integer id , String pwd);}...

2020-04-30 22:44:21 200

原创 Mybatis框架(一)

Mybatis框架一、引言1.1 什么是框架?软件的半成品,解决了软件过程当中的普适性问题,从而简化了开发步骤,提供了开发的效率。1.2 什么是ORM框架?- ORM(Object Relational Mapping)对象关系映射,将程序中的一个对象与表中的一行数据一一对应。- ORM框架提供了持久化类与表的映射关系,在运行时参照映射文件的信息,把对象持久化到数据库中`。1.3...

2020-04-29 22:30:33 252

原创 GIT

GIT一、引言在单人开发过程中,需要进行版本管理,以利于开发进度的控制。在多人开发过程中,不仅需要版本管理,还需要进行多人协同控制。二、 介绍Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。官网:https://git-scm.com/...

2020-04-28 23:17:46 188 1

原创 Maven

Maven一、 引言项目中jar包资源越来越多,jar包的管理越来越繁琐。1> 要为每个项目手动导入所需的jar,需要搜集全部jar -- 繁琐2> 项目中的jar如果需要版本升级,就需要再重新搜集jar -- 复杂3> 相同的jar在不同的项目中保存了多份 -- 存储冗余,散乱java项目需要一个统一的便捷的管理方案。二、 介绍Maven这个单词来自于意第绪语...

2020-04-27 22:11:08 99

原创 BootStrap

BootStrap一、概念Bootstrap是基于HTML、CSS、JavaScript 开发的简洁、直观、强悍的前端开发框架,使得 Web 开发更加快捷。优势: 1.响应式布局 2.提供了很多css样式和js插件二、Bootstrap的资源引入下载地址:https://v3.bootcss.com/<meta charset="utf-8"><meta h...

2020-04-24 20:00:14 79

原创 xml解析

XML解析一,解析概念:将文档中的数据读取到内存中1.1 解析方式1.DOM:将文档一次性加载进内存,在内存中形成一颗DOM树 优点:操作方便,可以对文档进行标签的添加和删除 缺点:如果文档较大会更多的占用内存 应用:服务器2.SAX:逐行解析,基于事件驱动 优点:几乎不占内存 缺点:只能读取,不能进行标签的添加和删除 应用:移动设备1.2 常见的XML解析器1.Do...

2020-04-23 19:46:31 80

原创 简单的搜索提示功能案例和XML介绍

简单的搜索提示功能案例和XML介绍一,简单的搜索提示功能案例1.1 dao包下的ProductDao类package com.qf.dao;import com.qf.entity.Product;import java.util.List;public interface ProductDao { List<Product> searchProduct(S...

2020-04-22 20:43:42 141

原创 JSON

JSON一、概念JSON(JavaScript Object Notation, JS 对象简谱) ,是一种轻量级的数据交换格式。采用完全独立于编程语言的文本格式来存储和表示数据。json用于存储和交换数据json比xml更小、更快、更易解析二、语法2.1 规则1.数据由键值对组成 键:由单引号或者双引号扩起来(也可以不用引号) 值:类型 a.字符串 {"name":"z...

2020-04-21 20:39:18 61

原创 AJAX

AJAX一,概念ASynchronous JavaScript And XML:异步的JavaScript和XML客户端与服务器端在通信上的同步和异步:同步:客户端必须等待服务器的响应,在等待过程中客户端不能做其他操作。异步:客户端在等待服务器响应的过程中可以进行其他的操作。AJAX是一种无需重新加载整个页面,就能够更新部分网页的技术。核心思想:异步加载、局部刷新作用:提升用户体...

2020-04-20 22:03:05 63

原创 jQuery

jQuery一,属性操作1.1 通用的属性操作1.prop():获取、设置元素的属性2.removeProp():删除属性3.attr():获取、设置元素的属性4.removeAttr():删除属性注:1.prop(参数1,参数2)和attr(参数1,参数2)是对元素进行属性的设置 prop(参数)和attr(参数)是对元素的属性进行获取2.prop()和attr()都能对...

2020-04-18 19:30:16 74

原创 jQuery

jQuery一,jQuery的基本操作1.1 事件绑定$(选择器).事件(function(){ 功能});注:可以采用链式写法为元素添加事件,但是不宜过多1.2 页面加载$(function(){});window.onload和$(function(){})的区别:onload如果定义了多次,那么只有最后一次的定义会产生效果$(function(){})可以定义...

2020-04-16 19:15:48 64

原创 jQuery

jQuery一,概念jQuery是一个JavaScript框架。用于简化js开发。jQuery的核心思想:"write less,do more。"它封装了js的常用功能,提供了便捷的js设计模式,优化html,事件处理,动画设计,以及ajax交互。jQuery的本质就是一个js文件,它只是对原生代码进行了封装。二,版本jquery-xxx.js:开发版本,有良好的缩进和注释,它...

2020-04-15 19:55:15 56

空空如也

空空如也

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

TA关注的人

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