跟狂神75天速成Java
文章平均质量分 88
Java学习日记
饺子0778
明光桥高级职业学院本硕
展开
-
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>原创 2021-01-26 16:45:05 · 299 阅读 · 2 评论 -
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 · 121 阅读 · 0 评论 -
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 · 225 阅读 · 0 评论 -
MySQL(五) 事务,索引,用户管理和备份
事务要么都成功,要么都失败(类似try代码块?)一一一一一一一一一一一一一A给B转账- SQL1 A账面转出- SQL2 B账面收到一一一一一一一一一一一一一若SQL2执行时或执行前出现错误,则SQL1也不生效,否则,A账面白白减少。事务原则:ACID原则:原子性,一致性,隔离性,持久性(脏读,幻读)原子性:对于一个事务中的多个动作,要么都成功要么都失败,不可分离一致性:针对一个事务操作前与后的状态一致持久性:事务结束后原创 2020-09-01 17:06:54 · 89 阅读 · 0 评论 -
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 · 810 阅读 · 0 评论 -
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 · 181 阅读 · 0 评论 -
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 · 174 阅读 · 0 评论 -
MySQL(一)基础知识(数据类型、字段属性),操作数据库和表,MYISAM和INNODB的区别
初识MySQL数据库(DB)分类:关系型数据库: (SQL)MySOL,Oracle,Sql Sever,DB2,SOLlite通过表和表之间,行和列之间的关系进行数据你的存储,学员信息表,考勤表,……非关系型数据库: (NoSQL) Not OnlyRedis,MongDB非关系型的数据库,对象存储,通过对象自身的属性来决定DBMS(数据库管理系统):数据库的管理软件,科学有效的管理数据,维护和获取数据MySOL,是关系型数据库管理系统...原创 2020-08-07 14:45:32 · 268 阅读 · 0 评论 -
前端基础——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 · 123 阅读 · 0 评论 -
前端基础——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 · 348 阅读 · 0 评论 -
前端基础——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 · 163 阅读 · 0 评论 -
前端基础——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 · 211 阅读 · 0 评论 -
前端基础——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 · 411 阅读 · 0 评论 -
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 · 214 阅读 · 0 评论 -
前端基础——HTML(二)
列表标签列表就是信息资源的一种展现形式,它可以使信息结构化条理化,并且以列表的样式显示出来,以便浏览者能更快捷地获取相应的信息可以在列表中嵌套列表,内列表和外层列表缩进明显区分<body><!--有序列表--><ol> <li>1</li> <li>2</li> <li>3</li></ol><!--无序列表--><hr/>原创 2020-06-27 16:41:14 · 134 阅读 · 0 评论 -
前端基础——HTML(一)
HTML(Hyper Text Markup Language 超文本标记语言)基本标签标题标签段落标签换行标签水平线标签字体样式标签注释和特殊符号<!DOCTYPE html> <!--DOCTYPE :告诉浏览器,我们要使用什么规范--><html lang="en"><!-- head标签 网页头部--><head> <!--开放标签--> <meta charset="UTF-8"&原创 2020-06-22 22:03:01 · 181 阅读 · 0 评论 -
JAVA(二)注解和反射 ——类的加载与内存,运行时类的完整结构
内存分析类的加载与Classloader的理解加载:将class文件字节码内容加载到内存中,并将这些静态数据转换成方法区的运行时数据结构,然后生成一个代表这个类的java.lang.Class对象链接:将Java类的二进制代码合并到JVM的运行状态之中的过程验证:确保加载的类信息符合JVM规范,没有安全方面的问题准备:正式为类变量(static)分配内存并设置类变量默认初始值的阶段,这些内存都将在方法区中进行分配解析:虚拟机常量池内的符号引用(常量名)替换为直接引用(地址)的过程。原创 2020-06-11 20:57:38 · 230 阅读 · 0 评论 -
JAVA 注解和反射(一) 注解 什么是反射机制 得到Class的几种方式
注解和注释一样,注解不是程序本身,而是对程序作出解释,而注解与注释不同的点在于,注解可以被其他程序比如编译器读取常见的三个内置注解:@Override//重写注解@Deprecated//不推荐使用注解,可以使用但是有风险或者有更好的方式@SuppressWarnings//“镇压”警告注解元注解元注解的作用:解释注解其他注解,Java定义了4个标准的meta-annotation类型,他们被用来提供对其他annotation类型做说明4个元注解分别为:@Target:用于描述注解原创 2020-06-09 21:44:03 · 237 阅读 · 0 评论 -
JAVA多线程(四)线程协作通信和线程池
线程协作线程通信问题方法名作用wait( )线程一直在等待,直到其他线程通知;和sleep不同,会释放锁wait(long timeout)指定等待的毫秒数notitfy( )唤醒一个处于等待状态的线程notifyAll( )唤醒同一个对象上所有调用wait方法的线程 ,优先级别高的线程优先调度注意:都是Object类的方法,都只能在哪同步方法或者同步代码块中使用,否则会抛出异常。并发协作模型——生产者消费者问题解决方法:管程法生产者:负责生原创 2020-06-09 18:05:16 · 208 阅读 · 0 评论 -
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 · 497 阅读 · 0 评论 -
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 · 371 阅读 · 0 评论 -
Java 多线程(一)线程的创建Thread,Runnable,Callable &&静态代理
基本概念程序:指令和数据的集合。 静态。Process 进程 :执行程序的一次执行过程。 动态。 系统资源分配的单位Thread 线程 : 一个进程中至少包含一个线程。 CPU调度和执行的单位。线程的创建——Thread,Runnable,CallableThread类Runnable接口Callable接口(了解)Thread类//创建线程方式一:继承Thread类,重写run方法 ,调用start开启线程//总结:注意 线程开启不一定能立即执行,由CPU调度执行pu原创 2020-06-07 17:17:11 · 294 阅读 · 0 评论 -
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 · 405 阅读 · 0 评论 -
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 · 243 阅读 · 0 评论 -
Day08 I/O流自学补充
1.概念I:input 输入 (读取)O: output 输出 (写入)流:数据(字符/字节)1字符=2字节 1字节=8二进制位2.字节流一切皆为字节字节输出流:原创 2020-05-29 17:27:46 · 116 阅读 · 0 评论 -
Day8( 网络编程( ip 端口 通信协议))
网络编程1.1概述信件:计算机网络:“计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议(类比语言类别,普通话等)的管理和协调下,实现资源共享和信息传递的计算机系统。”网络编程的目的:无线电台……传播交流信息,数据交换,通信想要达到这个效果需要:1.如何准确定位网络上的一台主机?192.168.16.124:端口,定位到这个计算机上的某个资源2.找到了这个主机,如何传输数据?javaweb:网页编程原创 2020-05-23 19:59:27 · 298 阅读 · 0 评论 -
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 · 190 阅读 · 0 评论 -
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 · 679 阅读 · 0 评论 -
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 · 366 阅读 · 0 评论 -
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 · 207 阅读 · 0 评论 -
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 · 180 阅读 · 0 评论 -
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 · 175 阅读 · 0 评论 -
Day03(对象和异常)
标题面向过程&面向对象面向过程:处理简单问题 ,步骤清晰面向对象:分类处理的思想 , 处理复杂问题, 先分类后再面向过程思考面向对象编程的本质:以类的方式组织代码,以对象的方式组织(封装)数据。**抽象:**抽取共同点形成类三大特性:封装继承多态类和对象基础总结://1.一个类即使什么都没有,也有一个无参构造方法。但只要有一个构造方法,就没有默认的无参构造方法。//2.构造器的作用 // 实例化初始值 ://使用new关键字,本质是在调用构造器//3.类是原创 2020-05-17 22:02:15 · 244 阅读 · 0 评论 -
Day2(方法 内存 数组(冒泡排序和稀疏数组))
方法(类似于函数)原子性:一个方法只实现一个功能,方便调用return 的特殊用法:可用于终止方法(return 0;)方法重载方法名必须相同,参数列表必须不同命令行传参……有时间具体看。可变参数在方法声明中,在指定参数类型后加以一个省略号(…)一个方法只能指定一个可变参数,它必须是方法的最后一个参数。所有普通参数必须在它之前声明。 public static void main(String[] args) { text t=new text(); t.原创 2020-05-17 20:39:14 · 206 阅读 · 0 评论 -
Day2 (流程控制: Scanner 结构和循环 )
Scanner注意:最好加入hasNext的判断!用完要关掉!Scanner scanner=new Scanner(System.in); System.out.println("用next方式接受:"); //判断用户有没有输入字符串 if (scanner.hasNext()){ String s=scanner.nextLine(); } //属于IO流的类如果不关闭会一直占用资源 sa原创 2020-05-17 16:46:32 · 188 阅读 · 0 评论 -
Day2(变量 运算符 包 JavaDoc)
Java基础· 变量 常量 作用域变量局部变量方法块内使用 必须声明和初始化实例变量从属于对象 通过对象调用 如不初始化,赋给这个类型的默认值(布尔值默认false;除了基本类型,其余默认值均为null)类变量 static从属于类常量final + 常量名(大写字母)=常量值;· 运算符算术运算符+, - ,*,/,%,++,–赋值运算符=关系运算符<,>,<=,>=,==逻辑运算符与:&&, 或原创 2020-05-17 10:55:02 · 224 阅读 · 1 评论 -
Day1(数据类型)
Java基础##(Java属于强类型语言 变量必须定义后才能用 安全性高 编译速度慢)**· 数据类型基本类型1. 数值类型1.整数类型数据类型字节位数byte1-128~127short2约5位数 有正负int4约10位数 有正负long8约20位数 有正负整数拓展:进制前缀二进制0b八进制0十六进制0x浮点数拓展:银行业务中 的 比较float f=0.1f;double d=1.0/10;S原创 2020-05-16 20:58:29 · 207 阅读 · 0 评论