自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 资源 (1)
  • 收藏
  • 关注

原创 剑指offer 21-36

21.调整数组顺序使奇数位于偶数前面class Solution { public int[] exchange(int[] nums) {//判断奇数偶数用位运算 x&1=1奇数 x&1=0偶数//调整顺序用首尾双指针法,左半边所有偶数与右半边所有奇数互换 if(nums==null||nums.length==0||nums.length==1) return nums; int n=nums.length; int lef

2021-02-23 21:17:10 128 1

原创 Spring5学习笔记

1.Spring参考笔记1.1简介Spring : 春天 —>给软件行业带来了春天2002年,Rod Jahnson首次推出了Spring框架雏形interface21框架。2004年3月24日,Spring框架以interface21框架为基础,经过重新设计,发布了1.0正式版。很难想象Rod Johnson的学历 , 他是悉尼大学的博士,然而他的专业不是计算机,而是音乐学。Spring理念 : 使现有技术更加容易使用 . 本身就是一个大杂烩 , 整合现有的框架技

2021-02-21 21:59:02 237

原创 23种设计模式

储备知识设计模式的本质是面向对象设计原则的实际运用,是对类的封装性,继承性和多态性以及类的关联关系和组合关系的充分理解正确使用设计模式的优点:设计代码的可重用性高,可读性强,可靠性高,灵活性好,可维护性强。设计模式的基本要素模式名称问题解决方案效果23种设计模式单例(Singleton)模式:某个类只能生成一个实例,该类提供了一个全局访问点供外部获取该实例,其拓展是有限多例模式。原型(Prototype)模式:将一个对象作为原型,通过对其进行复制而克隆出多个和原型类似的新实例。

2021-02-19 10:29:06 342

原创 Mybatis学习笔记

一.第一个Mybatis程序1.搭建环境1.1搭建数据库:1.2新建项目:1.普通maven项目(检查maven配置)2.删除其src文件夹,当作父工程3.导入maven依赖mysql,mybatis,junit2.创建子模块2.1编写mybatis的核心配置文件在src/main/resources下新建文件存放每个!!Mapper.xml都需要在Mybatis核心文件中注册<!--configuration核心配置文件--><configuration&gt

2021-01-26 16:45:05 287 2

原创 并查集

实现优化(路径压缩)public class QuickUnionUF{ private int[] roots;//构造函数(各自为营) public QuickUnionUF(int N){ roots=new int[N]; for(int i=0;i<N;i++){ roots[i]=i; //初始化roots数组 } }//寻根节点函数 private int findRoot(int i){ int root=i; while(roo

2020-12-31 15:34:15 58

转载 JAVA Web笔记

概念静态Web.htm,.html都是网页的后缀,如果服务器上一直存在这些东西,就可以直接进行读取。静态Web的缺点:Web页面无法动态更新 ,所有用户看到都是同一个页面轮播图,点击特效:伪动态JavaScript[实际开发中用的最多]VBScript无法和数据库交互(数据无法持久化,用户无法交互)动态Web缺点:-加入服务器的动态web页面出现错误时,我们需要重新编写后台程序,重新发布;优点:Web页面可以动态更新,所有用户看到的都不是同一个页面;它可以与

2020-11-09 14:36:27 56

原创 API(Application Programming Interface)和集合

API应用程序编程接口String在java.lang包下,使用前不需要导包Java程序中所有的双引号字符串,都是String类的对象特点: 字符串不可变。但可以被共享。效果上相当于字符数组(char「」)但底层原理是字节数组(byte「」)String类的构造方法1.public String() 空构造2.public String(byte[] bytes) 把字节数组转成字符串3.public String(byte[] bytes,int index,int length

2020-09-28 18:10:13 122

原创 类的封装

private关键字权限修饰符,可以修饰成员(变量和方法),作用:保护成员不被别的类使用,被private修饰的成员只在本类中才能访问。在private方法中对成员做限制,可以防止一些错误。this关键字public class Test { private String name;public void setName(String name) { //name=name; 赋值失败,默认两个name都是局部变量 this.name

2020-09-28 11:16:03 230

原创 List集合,Set集合,Collections集合工具类的方法,Map集合

List介绍&常用方法list接口特点:有序的集合,存储和取出元素的顺序是一致的有索引,包含一些带索引的方法允许存储重复的元素list接口中带索引的方法:注意:操作索引时要防止越界异常代码: public static void main(String[] args) { List<String> list=new ArrayList<>(); list.add("a"); list.add("b");

2020-09-22 17:45:13 107

原创 ☞剑指offer刷题记录(一)03——06

03数组中重复的数字题目代码HashSetclass Solution { public int findRepeatNumber(int[] nums) { Set<Integer> res=new HashSet<Integer>(); int repeat=-1; for(int num:nums){ if(!res.add(num)){ repeat=num;

2020-09-14 19:42:05 57

原创 MySQL(六) JDBC和数据库连接池

JDBCJava数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC也是Sun Microsystems的商标。我们通常说的JDBC是面向关系型数据库的。导入mysql-connector-java-5.1.49导入步骤基础测试代码步骤:加载驱动链接数据库DriverManager获得执行sql的对象 statement获得返回的结果

2020-09-04 20:58:44 206

原创 MySQL(五) 事务,索引,用户管理和备份

事务要么都成功,要么都失败(类似try代码块?)一一一一一一一一一一一一一A给B转账- SQL1 A账面转出- SQL2 B账面收到一一一一一一一一一一一一一若SQL2执行时或执行前出现错误,则SQL1也不生效,否则,A账面白白减少。事务原则:ACID原则:原子性,一致性,隔离性,持久性(脏读,幻读)原子性:对于一个事务中的多个动作,要么都成功要么都失败,不可分离一致性:针对一个事务操作前与后的状态一致持久性:事务结束后

2020-09-01 17:06:54 76

原创 MySQL(四)——子查询和嵌套查询

子查询和嵌套查询- ===========where============-- 查询数据库结构-1科目所有考试结果(学号 科目名 成绩)降序排列-- 方式一:使用联表查询SELECT StudentNo, r.SubjectName,SubjectResultFROM result rINNER JOIN `subject` subON r.SubjectNo=sub.SubjectNoWHERE subjectName='数据库结构-1'ORDER BY SubjectResult D

2020-08-11 11:52:41 789

原创 MySQL(三)DQL(续)(where子句,联表查询,分页和排序)

DQL(续)where子句逻辑运算符运算符语法描述and &&a and b a&&b逻辑与,ab都为真则为真,否则为假or ||a or b a||b逻辑或,ab都为假则为假,否则为假Not !not a !a逻辑非,a为真则假,a为假则真-- 查询成绩在95到100之间学生的成绩SELECT `StudentId` , `StudentResult` FROM `result`WHERE StudentResu

2020-08-08 15:38:01 164

原创 MySQL(二) 外键,DML语言,DQL语言

外键创建方式以下两种都是 数据库级别的外键(物理外键),不建议使用!!避免数据库过多造成困扰!!!!!!!!!方式一:创建表时添加约束-- 主表班级CREATE TABLE IF NOT EXISTS `class`( `id` INT(10) NOT NULL AUTO_INCREMENT COMMENT '班级id', `name` VARCHAR(20) NOT NULL COMMENT '班级名称', PRIMARY KEY (`id`))ENGINE = INNODB DEF

2020-08-07 18:52:46 157

原创 MySQL(一)基础知识(数据类型、字段属性),操作数据库和表,MYISAM和INNODB的区别

初识MySQL数据库(DB)分类:关系型数据库: (SQL)MySOL,Oracle,Sql Sever,DB2,SOLlite通过表和表之间,行和列之间的关系进行数据你的存储,学员信息表,考勤表,……非关系型数据库: (NoSQL) Not OnlyRedis,MongDB非关系型的数据库,对象存储,通过对象自身的属性来决定DBMS(数据库管理系统):数据库的管理软件,科学有效的管理数据,维护和获取数据MySOL,是关系型数据库管理系统...

2020-08-07 14:45:32 253

原创 前端基础——JavaScript部分(三)DOM对象,表单,jQuery

操作DOM对象DOM:文档对象模型核心:浏览器网页就是一个Dom树形结构!更新:更新Dom节点遍历Dom节点:得到Dom节点删除:删除一个Dom节点添加:添加一个新的节点要操作一个Dom节点,必须先获得它- 获得Dom节点<div id="father"> <h1>标题1</h1> <p id="p1">p1</p> <p class="p2">p2</p></div&g

2020-08-06 16:00:13 95

原创 前端基础——JavaScript部分(二)函数,对象,面向对象编程

数据类型字符串1.正常字符串 用’ ’ 或者“ ”包裹2.注意转义字符 \\' // 一个字符串\n // 换行\t // tab\u4e2d //unicode编码 \u####\x41 //AscII编码3.多行字符串编写 //tab 上面的引号 var msg=` hello e we `4.模板字符串 //tab 上面的引号 let

2020-08-01 10:26:26 316

原创 前端基础——JavaScript部分(一)语法和数据类型(字符串,数组,对象,Map和Set,流程控制,iterator)

JavaScript的引入方式外部引入:添加script标签,在标签内添加属性src指向js文件内部引入:在html内添加script标签,在script标签内直接写<head> <meta charset="UTF-8"> <title>Title</title><!-- script标签内,写JavaScript代码 内部引入--> <script> alert('hel

2020-07-05 17:08:40 148

原创 前端基础——CSS 列表、背景、盒子模型、浮动、定位和z-index

列表样式可以更改列表中点的样式或者去掉点复习之前内容#nav{ width: 300px; } .title{ font-size: 18px; font-weight: bold; text-indent: 1em; line-height: 35px; } ul li{ height: 3

2020-07-01 19:09:45 202

原创 前端基础——CSS 选择器、网页美化

什么是CSSCascading Style Sheet 层叠级联样式表CSS:表现和美化网页字体,颜色,边距,高度,宽度, 背景图片,网页定位,网页浮动发展史:CSS1.0CSS2.0: DIV(块)+CSS , HTML与CSS结构分离的思想,网页变得简单,SEOCSS2.1: 浮动,定位CSS3.0: 圆角,阴影,动画……浏览器兼容性快速入门及CSS的优势入门<head> <meta charset="UTF-8"> <tit

2020-06-30 17:30:17 390

原创 Java基础——HashMap源码解读及应用

HashMap源码基础解读底层原理:jdk1.7 :数组+链表jdk1.8:数组+链表+红黑树红黑树的根节点、链表的头节点 都是 数组的元素table[i]源码解读//部分静态变量 static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // 默认数组容量为 16 static final int MAXIMUM_CAPACITY = 1 << 30; static final float DEFAU

2020-06-29 14:29:26 191

原创 前端基础——HTML(二)

列表标签列表就是信息资源的一种展现形式,它可以使信息结构化条理化,并且以列表的样式显示出来,以便浏览者能更快捷地获取相应的信息可以在列表中嵌套列表,内列表和外层列表缩进明显区分<body><!--有序列表--><ol> <li>1</li> <li>2</li> <li>3</li></ol><!--无序列表--><hr/&gt

2020-06-27 16:41:14 124

原创 前端基础——HTML(一)

HTML(Hyper Text Markup Language 超文本标记语言)基本标签标题标签段落标签换行标签水平线标签字体样式标签注释和特殊符号<!DOCTYPE html> <!--DOCTYPE :告诉浏览器,我们要使用什么规范--><html lang="en"><!-- head标签 网页头部--><head> <!--开放标签--> <meta charset="UTF-8"&

2020-06-22 22:03:01 166

原创 JAVA(二)注解和反射 ——类的加载与内存,运行时类的完整结构

内存分析类的加载与Classloader的理解加载:将class文件字节码内容加载到内存中,并将这些静态数据转换成方法区的运行时数据结构,然后生成一个代表这个类的java.lang.Class对象链接:将Java类的二进制代码合并到JVM的运行状态之中的过程验证:确保加载的类信息符合JVM规范,没有安全方面的问题准备:正式为类变量(static)分配内存并设置类变量默认初始值的阶段,这些内存都将在方法区中进行分配解析:虚拟机常量池内的符号引用(常量名)替换为直接引用(地址)的过程。

2020-06-11 20:57:38 212

原创 JAVA 注解和反射(一) 注解 什么是反射机制 得到Class的几种方式

注解和注释一样,注解不是程序本身,而是对程序作出解释,而注解与注释不同的点在于,注解可以被其他程序比如编译器读取常见的三个内置注解:@Override//重写注解@Deprecated//不推荐使用注解,可以使用但是有风险或者有更好的方式@SuppressWarnings//“镇压”警告注解元注解元注解的作用:解释注解其他注解,Java定义了4个标准的meta-annotation类型,他们被用来提供对其他annotation类型做说明4个元注解分别为:@Target:用于描述注解

2020-06-09 21:44:03 220

原创 JAVA多线程(四)线程协作通信和线程池

线程协作线程通信问题方法名作用wait( )线程一直在等待,直到其他线程通知;和sleep不同,会释放锁wait(long timeout)指定等待的毫秒数notitfy( )唤醒一个处于等待状态的线程notifyAll( )唤醒同一个对象上所有调用wait方法的线程 ,优先级别高的线程优先调度注意:都是Object类的方法,都只能在哪同步方法或者同步代码块中使用,否则会抛出异常。并发协作模型——生产者消费者问题解决方法:管程法生产者:负责生

2020-06-09 18:05:16 199

原创 JAVA多线程(三)线程同步, CopyOnWriteArrayList,死锁,Lock锁

线程同步多个线程操作同一个资源形成条件:队列 + 锁(synchronized)三大不安全案例不安全的买票//不安全的买票//线程不安全 有负数,有同时抢到同一张票public class UnsafeBuyTicket { public static void main(String[] args) { BuyTicket buyTicket=new BuyTicket(); new Thread(buyTicket,"wang")

2020-06-08 21:46:04 482

原创 JAVA多线程(二)Lambda表达式 线程的五大状态和状态观测 优先级和守护线程

Lambda表达式(函数式编程)函数式接口:只含有唯一一个抽象方法的接口就是函数式接口。对于函数式接口,可通过lamda表达式来创建该接口的对象。/*推导Lamda表达式*/public class TestLambda1 { //3.静态内部类 static class Like2 implements ILike{ @Override public void lambda() { System.out.printl

2020-06-08 17:48:21 344

原创 Java 多线程(一)线程的创建Thread,Runnable,Callable &&静态代理

基本概念程序:指令和数据的集合。 静态。Process 进程 :执行程序的一次执行过程。 动态。 系统资源分配的单位Thread 线程 : 一个进程中至少包含一个线程。 CPU调度和执行的单位。线程的创建——Thread,Runnable,CallableThread类Runnable接口Callable接口(了解)Thread类//创建线程方式一:继承Thread类,重写run方法 ,调用start开启线程//总结:注意 线程开启不一定能立即执行,由CPU调度执行pu

2020-06-07 17:17:11 276

原创 Day10 (Tomcat 和UDP)

Tmocat服务端自定义STomcat服务器S:Java后台开发客户端自定义C浏览器BUDP1.发短信 不需要连接发送端//不需要建立连接public class UdpClientDemo01 { public static void main(String[] args) throws Exception{ //1.建立一个Socket DatagramSocket socket = new DatagramSocket();

2020-06-06 21:53:17 390

原创 Day09 网络编程(TCP实现聊天和文件上传)

TCPTCP实现聊天客户端1.连接服务器Socket2.发送消息public class TcpClientDemo01 { public static void main(String[] args) { Socket socket=null; OutputStream os=null; //1.我得知道服务器地址 try { InetAddress serverIP = InetAddress.

2020-05-31 17:39:33 231

原创 Day08 I/O流自学补充

1.概念I:input 输入 (读取)O: output 输出 (写入)流:数据(字符/字节)1字符=2字节 1字节=8二进制位2.字节流一切皆为字节字节输出流:

2020-05-29 17:27:46 107

原创 Day8( 网络编程( ip 端口 通信协议))

网络编程1.1概述信件:计算机网络:“计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议(类比语言类别,普通话等)的管理和协调下,实现资源共享和信息传递的计算机系统。”网络编程的目的:无线电台……传播交流信息,数据交换,通信想要达到这个效果需要:1.如何准确定位网络上的一台主机?192.168.16.124:端口,定位到这个计算机上的某个资源2.找到了这个主机,如何传输数据?javaweb:网页编程

2020-05-23 19:59:27 284

原创 Day7 JAVA贪吃蛇游戏

预备知识:帧:如果时间片够小,就是动画,一秒30帧。连起来是动画,拆开就是静态图片。键盘监听定时器Timer分三个类文件来写:启动游戏类StartGame功能实现类GamePanel存放素材类Data启动游戏类import javax.swing.JFrame;public class StartGame { public StartGame() { } public static void main(String[] args) { JF

2020-05-22 21:27:00 180

原创 Day 6(JPanel面板和JScroll,按钮,列表和下拉框,文本框)

4.JPanel面板和JScrollJPanelpublic class JPanelDemo extends JFrame { public JPanelDemo() { Container container = this.getContentPane(); container.setLayout(new GridLayout(2,1,10,10)); //后两个参数的意思是,间距 JPanel panel1=new JPanel(

2020-05-21 13:16:08 631

原创 Day5(Swing中的JFrame、JDialog弹窗和Icon、Imagelcon标签)

Swing1.JFrame内含背景颜色设置和标签居中注:contentPane 是Container 的一个对象,而getContentPane() 方法就百是返回这个Container 的实例化对象contentPanepublic class JFrameDemo02 { public static void main(String[] args) { new MyJframe2().init(); }}class MyJframe2 extends JF

2020-05-20 22:11:19 354

原创 Day5(画笔,鼠标监听,窗口监听,键盘监听)

画笔基础用法import java.awt.*;public class TestPaint { public static void main(String[] args) { new MyPaint().LoadFrame(); }}class MyPaint extends Frame { public void LoadFrame(){ setBounds(200,200,600,500); setVisible(tr

2020-05-20 19:56:03 192

原创 Day04 (事件监听(鼠标 键盘 窗口等))

事件监听入门示例代码:public class TestActionEvent { public static void main(String[] args) { //按下按钮,触发一些事件 Frame frame = new Frame(); Button button = new Button(); //因为addActionListener()需要一个ActionListener,所以我们需要构造一个ActionList

2020-05-20 10:27:46 166

原创 Day03(GUI编程起步 AWT( 组件和容器 三种布局管理器))

GUI编程介绍常用组件和用途:窗口弹窗面板文本框列表框按钮图片监听事件鼠标键盘事件外挂 破解工具1.简介GUI核心技术:Swing AWT 1.界面不美观2.需要jre环境1.可以写出心里想要的小工具2.工作时可能要维护Swing界面3.了解MVC架构,了解监听器2.AWT2.1AWT介绍1.包含很多类和接口! GUI:图形 用户 界面编程2.元素:窗口 按钮 文本框3.java.awt包2.2组件和容器2.2.1 第一个Frame1.一个窗口

2020-05-18 22:47:04 162

JAVA实现贪吃蛇小游戏代码包

使用JAVA编程语言实现贪吃蛇小游戏。JAVA的GUI界面编程的第一步!JAVA实现贪吃蛇小游戏代码包。三个类即可轻松实现。

2020-05-23

空空如也

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

TA关注的人

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