
Java学习
文章平均质量分 90
PeterBishop0
一起进步!
展开
-
IO流第六课转换流
这节课来讲讲转换流 在讲转换流之前了,我们先讲讲字符的编码与解码。 首先,我们知道计算机里所有数据都是以二进制的形式存储的,.java文件想要运行必须先被编译成.class字节码文件,这里我们提到了一个词,字节码,或者说字节,以往一直没机会,这次就来带大家看看字节码文件。 这些以.class为后缀名的文件就是.class文件,这些文件的内容全是字节。...原创 2018-11-11 15:30:25 · 288 阅读 · 0 评论 -
mysql篇第二课:数据库、表、SQL的介绍
这节课我们来学习下数据库、表和SQL 数据库存储数据的特点将数据放到表中,表再放到库中 一个数据库中可以有多个表,每个表都有一个的名字,用来标识自己。表名具有唯一性。 表具有一些特性,这些特性定义了数据在表中如何存储,类似java中 “类”的设计。 表由列组成,我们也称为字段。所有表都是由一个或多个列组成的,每一列类似java 中的”属性” 表中的数据是按行存储的,每一行类...原创 2018-11-23 13:14:13 · 314 阅读 · 0 评论 -
mysql篇第三课:库的创建和表的详解
这节课我们讲讲怎么建库,以及对表的创建详细分析一下: 建库特别简单:create database dbname; 来试试 接下来讲建表,先把建表语句粘一下:课件里的不通用啊。。百度一个吧 CREATE TABLE IF NOT EXISTS 表明( 字段名 类型 键的类型 自增 是否为空 , ...)ENGI...原创 2018-11-23 13:19:04 · 297 阅读 · 0 评论 -
mysql篇第四课:插入语句
这节课讲mysql的插入语句,特别简单 语法: insert into 表名(字段名,...) values(值1,...); 先把我们要用的表准备好,表结构如下: 写sql也可以叫写查询语句,所以我们需要在navicat里新建查询来写sql在查询那里点击右键选新建查询就可以写sql了 Demo 1: 可以看到...原创 2018-11-23 13:23:02 · 865 阅读 · 0 评论 -
mysql篇第五课:删除语句
这节课我们来学删除语句 方式1:delete语句 单表的删除: delete from 表名 【where 筛选条件】多表的删除: delete 别名1,别名2 from 表1 别名1,表2 别名2 where 连接条件 and 筛选条件;方式2:truncate语句truncate table 表名 先将方式1: where讲解分类:一、条件表达...原创 2018-11-23 13:43:17 · 794 阅读 · 0 评论 -
mysql第七课:修改语句
这节课我们来学更新语句 单表:update 表名 set 字段=新值,字段=新值【where 条件】 多表:update 表1 别名1,表2 别名2set 字段=新值,字段=新值where 连接条件and 筛选条件 多表以后讲,暂时只讲单表: Demo:原来的数据: Sqlupdate t_user set name ...原创 2018-11-23 13:44:55 · 320 阅读 · 0 评论 -
线程第九课——线程通信
这节课我们来填坑,讲讲wait,notify,notifyAll,这三个方法主要用于线程间通信。 先来看API文档怎么写的: 看到这里的人先暂停一下,把上面的截图过一遍。 下面来讲讲怎么用:Demo:/** * 线程间通信教学 */public class ThreadCommunicationTeach {...原创 2018-11-29 13:51:37 · 262 阅读 · 0 评论 -
线程第十课——死锁及其解决办法
这节课我们来讲讲死锁 及其解决办法,这节课讲完我们的线程入门部分就讲完了 当然,这只是入个门而已,各位有兴趣的话可以去了解自学下juc OK,废话不多说,写代码 死锁问题的产生:public class DeadLockTeach { public static void main(String[] args) { Objec...原创 2018-11-29 13:52:20 · 666 阅读 · 0 评论 -
注解
注解,这玩意其实属于基本语法和常用类交叉的地方,是jdk1.5添加的新特性 注解是什么? 注解(Annotation)很重要,注解是JDK1.5之后才有的新特性. 注解的作用就是简化开发或者作为一个标识用的,使用注解可以极大的简化我们的开发,这个你们以后会体会到,今天我们主要讲,怎么自己定义注解 JDK1.5之后内部提供的三个注解 @Dep...原创 2018-11-29 13:53:27 · 311 阅读 · 0 评论 -
mysql篇第一课:数据库介绍,以及mysql的启动
现在我们正式进入mysql数据库篇的课程 首先一个很重要的概念: 什么是数据库?先来百度百科看一看: 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库 百度百科给出的定义非常的直接、简单,我最喜欢这样的定义,都不用我解释第二遍 接下来,我们要学的是mysql数据库,那么来看看mysql的百度百科? No,先来了解一些数据库的...原创 2018-11-23 10:16:42 · 329 阅读 · 0 评论 -
jdbc篇第1课:jdbc的介绍和使用
我们已经学过mysql了,接下来我们要学学如何用java来操作mysql。 Java操作数据库所使用的技术叫JDBC,看百度百科: JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高...原创 2018-11-24 10:10:26 · 271 阅读 · 0 评论 -
Constructor类
这节课我们来讲Constructor类,这个类表示构造器,直接看代码 package reflection;import helloworld.MyArrayList;import java.lang.reflect.Constructor;import java.lang.reflect.InvocationTargetException;public ...原创 2018-11-11 15:55:17 · 1159 阅读 · 0 评论 -
反射与继承的问题
这课讲反射与继承的问题,因为太简单了所以懒得录视频了,直接看下面的代码 public static void main(String[] args) { List list = new ArrayList(); //list.getClass() 返回的会是List.class还是ArrayList.class? Class listClass = ...原创 2018-11-11 15:56:13 · 630 阅读 · 0 评论 -
mysql篇第八课:查询语句(一)
OK,这节课开始我们学sql增删改查里最难的查 这节课学 基础查询 语法:SELECT 要查询的东西 【FROM 表名】; 说明: 这个要查的东西可以是很多东西,最常见的是列 下面来说说我们查询部分要用的表,我已经准备好了: 表名叫tnl_emploee,也就是员工表 下面解释下各个字段:id: 员工编号last_...原创 2018-11-23 16:57:55 · 301 阅读 · 0 评论 -
mysql篇第九课:查询语句(二)
这节课继续学查询语句 排序查询: 语法:select 要查询的东西from 表where 条件 order by 排序的字段|表达式|函数|别名 【asc|desc】 演示一下: Demo 01:-- 根据部门id排序查询所有员工select * from tbl_emp...原创 2018-11-23 16:59:28 · 302 阅读 · 0 评论 -
mysql篇第十课:查询语句(三)
这节课讲常用函数 单行函数 字符函数 concat拼接 substr截取子串 upper转换成大写 lower转换成小写 trim去前后指定的空格和字符 ltrim去左边空格 rtrim去右边空格 replace替换 lpad左填充 rpad右填充 instr返回子串第一次出现的索引 length 获取字节个数 以上函数除了con...原创 2018-11-23 17:26:51 · 296 阅读 · 0 评论 -
mysql篇第三课:库的创建和表的详解
这节课我们讲讲怎么建库,以及对表的创建详细分析一下: 建库特别简单:create database dbname; 来试试 接下来讲建表,先把建表语句粘一下:课件里的不通用啊。。百度一个吧 CREATE TABLE IF NOT EXISTS 表明( 字段名 类型 键的类型 自增 是否为空 , ...)ENGI...原创 2018-11-24 09:38:17 · 302 阅读 · 0 评论 -
mysql篇第十课:查询语句(四)
这节课继续学查询 分组查询语法: select 查询的字段,分组函数 from 表 group by 分组的字段 注意:1、可以按单个字段分组2、和分组函数一同查询的字段最好是分组后的字段3、分组筛选 针对的表 位置 关键字分组前筛选: 原始表 group ...原创 2018-11-24 10:00:39 · 455 阅读 · 0 评论 -
mysql篇第十二课:查询语句(五)
这节课我们来讲子查询: 先来看我们的表和数据: tbl_dept: tbl_employee: 接下来看看子查询的定义:一条查询语句中又嵌套了另一条完整的select语句,其中被嵌套的select语句,称为子查询或内查询在外面的查询语句,称为主查询或外查询 特点:子查询都放在小括号内Demo 01:-- 查询开发部的...原创 2018-11-24 10:05:05 · 339 阅读 · 0 评论 -
jdbc篇第2课:使用jdbc操作数据库
上节课我们成功的连接了数据库,这节课我们试试来用java操作数据库 想要操作数据库,必定要借助sql,java.sql包里提供了一些类和接口来方便我们执行sql语句 Demo 01:package jdbc;import java.sql.Connection;import java.sql.DriverManager;import java.sql....原创 2018-11-27 18:42:52 · 353 阅读 · 0 评论 -
jdbc篇第3课:使用jdbc做查询操作
这节课我们来讲如何用jdbc做查询操作: Demo 01:package jdbc;import jdbc.bean.Employee;import java.sql.*;import java.util.ArrayList;import java.util.List;//Jdbc查询教学public class JdbcQueryTeach ...原创 2018-11-27 19:08:52 · 471 阅读 · 0 评论 -
jdbc篇第4课:封装Dbc
这节课开始我们开始讲封装jdbc 分析:在前面几课中,我们都要先建立连接,获取Connection对象,而且代码是重复的,我们可以将这部分代码提取出来 实现:package com.tool;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLE...原创 2018-11-27 19:10:15 · 512 阅读 · 0 评论 -
线程第六课(附加)——八锁问题
搞懂以下八个问题,同步锁就算真的搞懂了。 1 标准访问,先打印短信还是邮件 public class Lock_8 { public static void main(String[] args) throws InterruptedException { Phone phone1 = new Phone(); Phone ...原创 2018-11-28 11:40:39 · 424 阅读 · 0 评论 -
线程第七课——线程的调度
这节课我们来讲讲线程的调度算法。 首先给各位大哥预防针,这节课的内容偏理论,而且比较枯燥,但必须要懂。 首先说明一下,在操作系统调度线程的时候会准备一个就绪队列,处于就绪状态的线程就在这个就绪队列里排队,一旦处于运行状态的线程让出资源,就绪队列里的所有线程就会开始抢占资源,哪个线程能抢到资源是随机不固定的,另外,由于线程可以由运行状态转变为就绪状态,因此可能出现运行状态...原创 2018-11-28 11:40:49 · 365 阅读 · 0 评论 -
线程第八课——sleep方法
这节课我们就讲一个方法,Thread.sleep(long millis) 首先补充一个知识点 public static void main(String[] args) { System.out.println(Thread.currentThread().getName());} 运行结果;main 可以看到其实main方法自启动了...原创 2018-11-28 11:40:58 · 444 阅读 · 0 评论 -
java8第一课:lambda表达式
这节课开始我们正式进入 java8 新特性 首先要讲的就是哦Lambda表达式(拉姆达表达式),lambda表达式就是一个匿名函数,也就是说没有函数名。这个表达式的作用就一点: 简化开发。 语法(参数表)->{功能代码} lambda在java里的唯一作用就是替代匿名内部类,要求是接口只有一个未实现的抽象方法 public class Teach0...原创 2018-12-07 20:13:34 · 341 阅读 · 0 评论 -
java8第二课:接口里可以写什么
这节课我们来讲讲java8里接口可以写什么,再次强调,这种语法只在jdk1.8以上有效。 public class Java8InterfaceTeach { public static void main(String[] args) { //这里会报错是因为这个接口里没有未实现的抽象方法 //要想使用lambda表达式,接口里必须...原创 2018-12-07 20:14:25 · 658 阅读 · 0 评论 -
java8第三课:函数式接口
这节课我们讲讲函数式接口。 什么叫函数式接口? 如果一个接口有且仅有一个未实现的方法,我们就说这个接口是函数式接口。 public class FunctionalInterfaceTeach { public static void main(String[] args) { FuncInterface funcInterface ...原创 2018-12-07 20:15:19 · 239 阅读 · 0 评论 -
java8第四课:方法引用和构造器引用
这节课我们开始讲方法引用和构造器引用,直接看代码 public class MethodReference { /** * 方法引用:一种lambda表达式的简写方式 * 语法: * 对象::普通方法名 * 类::普通方法名 * 类::静态方法名 */ public static ...原创 2018-12-07 20:17:40 · 310 阅读 · 0 评论 -
java8第五课:StreamAPI简介与入门
这节课开始我们开始学Java8的另一个特性: Stream API 首先说明,这玩意依然用的不多,但是,还是希望大家知道有这么个东西。 什么是Stream API? 就是java8给我们提供了一个新的类叫Stream,这个类可以用来很方便的操作一组数据(集合、数组)。 下面看代码:import java.util.ArrayList;import ja...原创 2018-12-07 20:18:30 · 285 阅读 · 0 评论 -
线程第六课——同步锁synchronized
这节课我们来讲讲同步锁synchronized 先来说说为什么要有这个玩意。多线程在并发访问共享资源时可能会引发安全问题(上节课演示过了),为此我们需要在某一个线程访问共享资源时拒绝让其他线程继续访问。 举个例子,厕所是公共资源吧,每个人就是一个线程,当一个人使用一个厕所的时候是不是要在自己使用期间阻止其他人使用?那么怎么阻止?把门锁上即可。这把锁就是我们今天要讲的sy...原创 2018-11-28 11:40:25 · 324 阅读 · 0 评论 -
线程第五课——多线程引发的问题及解决方案
这节课我们来学习下多线程可能引发的问题以及解决方法 先来看一个小例子:public class MultiThreadDemo { public static void main(String[] args) { DemoRunnable demoRunnable = new DemoRunnable(); //创建两个线...原创 2018-11-28 11:40:15 · 1091 阅读 · 1 评论 -
jdbc篇第5课:properties文件和Properties类
这节课我们来学习一种新的文件和一个新的类 properties文件:特点:纯文本每一行都是 xxx=yyy的形式,类似键值对常被用来当做配置文件 Properties类:可以读取properties文件,将其内容转化成一个MapProperties是HashTable的子类HashTable实现了Map接口 Demo:pub...原创 2018-11-27 19:15:58 · 317 阅读 · 0 评论 -
jdbc篇第6课:使用properties当做Dbc的配置文件
这节课我们实现一个功能,我们把连接mysql要用到的信息放在properties配置文件里,让Dbc加载这个文件读取配置信息给我们返回一个Connection对象 实现:package com.tool;import java.io.*;import java.sql.Connection;import java.sql.DriverManager;impor...原创 2018-11-27 19:27:16 · 429 阅读 · 0 评论 -
jdbc篇第7课:封装增删改查
这节课我们来封装增删改查 实现:package com.tool;import com.bean.Employee;import java.sql.*;import java.util.*;public class EmployeeMapper { Connection connection; public Employee...原创 2018-11-27 19:28:50 · 396 阅读 · 2 评论 -
jdbc篇第8课:进一步封装jdbc
这节课我们来进一步封装jdbc 首先来分析下,jdbc的使用:jdbc使用: 1. 建立好表对应的类(我们称为bean),要求每一列对应一个属性,且数据类型对应上 2. 建立连接,获取Connection对象 3. 使用Connection对象获取Statement或PreparedStatement对象 4. 写好sql 5....原创 2018-11-27 19:53:59 · 308 阅读 · 0 评论 -
线程第一课——进程与线程
这节课开始我们进入java的线程部分。 首先了解几个概念: 程序、进程、线程。 程序: 就是我们写的代码,是静态的。 进程: 程序运行的过程,或者说是cpu调度各个程序的过程 线程: 一进程为达到并发操作而设计出来的类似进程的东西(看下百度百科吧,算了,你们也看不懂) 说到进程和线程就要说到并行和并发。并行: 同一时间点多个进程(或者线程)同时运行(必须要...原创 2018-11-27 21:31:06 · 388 阅读 · 0 评论 -
线程第二课——线程的使用
这节课我们来讲讲线程的使用 首先来讲讲怎么创建一个线程,我们只有先创建线程然后才能谈使用对吧。 创建线程的方式一: 继承Thread类 Demo 01:public class ThreadTeach { public static void main(String[] args) { //创建线程就是new一个线程类对象 ...原创 2018-11-27 21:32:47 · 287 阅读 · 0 评论 -
线程第三课——多线程初探与线程的生命周期
这节课我们来进入多线程,来初步感受下多线程,并了解下线程的声明周期 Demo 01:public static void main(String[] args) { //直接点,懒得想新的线程名了 Thread t1 = new Thread(new Runnable() { @Override public void ...原创 2018-11-27 21:34:53 · 308 阅读 · 0 评论 -
线程第四课——线程常用方法
这节课我们来讲讲线程常用的方法,还是看API文档加写代码演示: 以下是Thread类的常用方法以下是Object类中和线程有关的方法: Demo:public class ThreadMethodTeach { public static void main(String[] args) throws ...原创 2018-11-28 11:40:05 · 307 阅读 · 1 评论