Java
文章平均质量分 91
不动声色的小蜗牛
The eager young minds of tomorrow.
展开
-
多线程2(常用的方法:join、interrupt、currentThread、isAlive、setDaemon...)
常用的方法:1、join()方法:join()方法:执行该方法的线程进入阻塞状态,直到调用该方法的线程结束后再由阻塞状态转为就绪状态。示例:package venus;import java.util.Date;public class Test { public static void main(String[] args) { TimeThread timeThread = new TimeThread();//创建时间线程 timeThrea原创 2021-02-07 20:14:19 · 281 阅读 · 0 评论 -
多线程1(进程、[创建]线程与生命周期)
一、进程与线程什么是线程?我们先说说什么是程序?程序(Program)是为实现特定目标或解决特定问题而用计算机语言(比如Java、C等)编写的命令序列的集合。进程(process)就是指一个程序的一次执行过程。(也就是说当一个程序进入内存执行时就变成了一个进程。)...原创 2021-02-07 15:47:02 · 163 阅读 · 0 评论 -
Java的注解
一、注解的概念:注解并不是一开始就有的,JDK5之前是没有注解的,JDK5及其以后JDK版本才开始支持Java注解!Java注解(Annotation)也叫做元数据,以@注解名在代码中存在,它是一种在源代码中标注的特殊标记,可以标注源代码中的类、属性、方法、参数等代码,主要用于创建文档,跟踪代码中的依赖性,甚至执行基本编译时检查。1.1 Java注解按照含有参数的个数分为三种:不带参数,语法结构为:@Annotation,例如@FunctionalInterface;带一个参数的注解,语原创 2021-02-03 11:38:09 · 1580 阅读 · 1 评论 -
Java反射(详述版)
一、什么是反射?我们先来看一个例子:package venus;public class Student { public String name; public Student(){ System.out.println("无参构造方法"); } public void doHomework(){ System.out.println(name + "正在做作业~~~"); } }我们平常是如何调用Student类里的方法的?package ve原创 2021-02-02 12:25:11 · 200 阅读 · 1 评论 -
group by总结(还有having)
先在MySQL数据库里创建一个表,并添加几条数据用于测试:create table fruit( name varchar(4), address varchar(12), type_name varchar(6)) insert into fruit values ('香蕉','广西','大香蕉');insert into fruit values ('苹果','山东','红富士');insert into fruit values ('香蕉','菲律原创 2020-07-08 18:44:55 · 148 阅读 · 0 评论 -
order by总结
order by :对查询结果进行排序,必须放在SQL语句最后。order by 有asc(升序)和desc(降序)排列之分,默认是asc(升序)其中不同类型,升序的含义如下:数字类型:小值在前面显示;日期类型:早的日期在前面显示;字符类型:依据字母顺序显示,a在前,z在后;空值:显示在最后 #这两行sql语句执行的效果是一样的,都是按照age的大小进行升序排列select * from student order by age;select * from student ord.原创 2020-07-08 18:11:29 · 496 阅读 · 0 评论 -
MySQL之模糊查询
先在MySQL数据库里创建一个表,并添加几条数据:create table student( id char(36) primary key, name varchar(8) not null, age int(3) default 0, mobile char(11), address varchar(150))insert into student values ('9b4435ec-372c-456a-b287-e3c5aa23dff4','张三',24,'12345678901',原创 2020-07-08 17:50:51 · 153 阅读 · 0 评论 -
数据隔离级别
我们先来看一句话:同一个应用程序中的多个事务或不同应用程序中的多个事务在同一个数据集上并发执行时, 可能会出现许多意外的问题这句话的意思就好比说 你的电脑被其他人远程操控了,而你自己也可以操控你的电脑,这种现象就是并发执行,数据库中的事务也存在这样的现象,这就有可能出问题。这种现象通常会导致三类问题:脏读(Drity Read): 已知有两个事务A和B,A读取了已经被B更新但还没有被提交的数据,之后,B回滚事务,A读的就是脏原创 2020-07-08 13:29:55 · 220 阅读 · 0 评论 -
数据库表(字段类型、约束、截断表、修改表字段、重命名表)
字段类型:在这里只列举一些常用的字段类型:整数类型:int(Integer):普通大小的整数小数类型:float(m,d):单精度浮点数,m表示数字长度,d表示小数位数,例如float(5,2)最大值999.99double(m,d):双精度浮点数日期类型:date:YYYY-MM-DD 1000-01-01 ~ 9999-12-3datetime:YYYY-MM-DD HH:MM:SS 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59t原创 2020-07-07 20:59:26 · 307 阅读 · 0 评论 -
为什么需要 外键 呢?
生活现象: 不知你们是否遇到过这样的现象,就是你辛辛苦苦花了几十块钱注册一个会员,结果家里的七大姑,八大姨都要拿去用,而且完全可以用。还有就是一个淘宝账号里却可以添加好多个收获地址(里面包括收货人的姓名,手机号,以及收货地址) 这里面其实都用到了外键!我们在数据库操作系统里演示一下外键:第一部分先创建一个用户信息表user_info原创 2020-07-07 14:30:03 · 259 阅读 · 0 评论 -
数据库--事务
我们知道数据库中的SQL语句分为DDL(数据定义语言)、DQL(数据查询语言)、DML(数据操纵语言)、DCL(数据控制语言),详情请看SQL语句 当数据库的表中数据执行完添加、删除、和修改等数据操纵语言(DML)后,需要执行commit(提交)数据控制语言(DCL)才能使之起作用,或者需要执行rollback(回滚)数据控制语言(DCL)才原创 2020-07-05 20:16:04 · 84 阅读 · 0 评论 -
SQL语句
结构化查询语言(SQL)是一种数据库查询和程序设计语言SQL语句按其功能分为4类: SQL语句 英文名称 英文简称 功能(定义) 常见命令 数据定义语言 Data Definition Language DDL 创建、修改或删除数据库中表、视图、索引等对象的操作 create、alter、drop 数据查询语言 Data Query Language DQL 按照指定的组合、条件表达式或排序检索已存在的数据库中的数据,不改变数据原创 2020-07-05 18:07:44 · 149 阅读 · 0 评论 -
学生管理系统(用maven来导入jar包)
不废话,直接上先看一下项目列表:首先创建一个maven工程,然后导入相应的jar包,请参考:使用maven导入jar包接着在Source Folder创建具体的项目:Main类(客户端)package com.zzu.client;import java.sql.ResultSet;import java.sql.SQLException;import java.util.Scanner;import com.zzu.tool.db.DBLink;import com.zzu.t原创 2020-07-03 18:34:53 · 388 阅读 · 0 评论 -
Java中的拆箱与装箱
我们先来了解一下拆箱与装箱的概念:装箱:将基本数据类型转换为包装类;拆箱:将包装类转换为基本数据类型我们来看两串代码: Integer b1 = 127; Integer b2 = 127; System.out.println(b1==b2);//true Integer b3 = 128; Integer b4 = 128; System.out.println(b3==b4);//false同样是int对应的包装类,为什么第一个是true,第二个就是false呢?这是因为Jav原创 2020-07-03 18:15:22 · 102 阅读 · 0 评论 -
使用maven导入jar包
我们都经历过自己写代码时有时就要引用一些第三方的jar包,这个我们都会,但在公司里进行团队开发时,是不允许我们自己导入jar包的,是由项目组长之类的统一导入jar包,我们在这里来了解一下这个过程:a、先创建一个maven工程,在pom.xml中有这样一段代码:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLoca原创 2020-07-03 14:45:48 · 4494 阅读 · 1 评论 -
JDBC工具类
# DEBUG\u8BBE\u7F6E\u8F93\u51FA\u65E5\u5FD7\u7EA7\u522B\uFF0C\u7531\u4E8E\u4E3ADEBUG\uFF0C\u6240\u4EE5ERROR\u3001WARN\u548CINFO \u7EA7\u522B\u65E5\u5FD7\u4FE1\u606F\u4E5F\u4F1A\u663E\u793A\u51FA\u6765log4j.rootLogger=DEBUG,Console,RollingFile#\u5C06\u65原创 2020-05-24 15:53:34 · 972 阅读 · 0 评论 -
SQL注入
当你连接MySQL数据库时就有可能出现SQL注入的现象,从而威胁到数据库的安全:所谓SQL注入就是sql语句中含有一些错误的命令(改变了原有sql语句的含义),从而达到蒙混过关的效果,威胁数据库的安全。我们来看一个例子就明白了:先在Navicat Premium中创建一个表:来演示一下SQL注入:public class Test { /** * 先定义一个update方法用来增添、删除、修改用户信息 * @param sql 要执行的sql语句 * 执行成功,输出Yes;执行失原创 2020-05-23 22:33:17 · 160 阅读 · 0 评论 -
用JDBC写一个学生管理系统(添加、删除、修改、查询学生信息)(二)
本文上接用JDBC写一个学生管理系统(添加、删除、修改、查询学生信息)这次主要是对上一文中的查询方法做一下调整,用创建内部类的方法来实现学生信息的查询。我们先要定义一个接口IRowMapper:import java.sql.ResultSet;public interface IRowMapper { /** * 定义一个抽象方法 * 传入的参数为ResultSet类型 */ void rowMapper (ResultSet rs);}我们只对DBLink类中的selec原创 2020-05-23 10:54:03 · 3663 阅读 · 0 评论 -
用JDBC写一个学生管理系统(添加、删除、修改、查询学生信息)
首先需要用Navicat Premium创建一个user_info表用Java连接好MySQL数据库(需要copy一个mysql-connector-java-5.1.44-bin.jar包,该包可在网上找到)后,我们开始用Java写一个学生管理系统:我们首选需要定义好添加、删除、修改、查询的方法,并把他们放到DBLink类中,再次之前还要再定义一个接口IRowMapper:import java.sql.ResultSet;public interface IRowMapper {原创 2020-05-19 07:59:00 · 10068 阅读 · 3 评论 -
如何用eclipse操作MySQL数据库进行增删改查?
我们首先需要在Navicat Premium上创建一个数据库实例(test),然后创建一个stu_info表(id,name,mobile,address)接着创建一个Test类进行操作:在这之前需要导一个包:这个包可以在网上找到,连接MySQL数据库用于加载驱动的mysql-connector-java-5.1.44-bin.jar我们先来看看如何添加数据:package jdbc;import java.sql.Connection;import java.sql.DriverMan原创 2020-05-17 08:46:15 · 12604 阅读 · 0 评论