自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Day 38 JDBC和DbUtils

Day 38 JDBC高级和DbUtils1. BaseDao方法补充1.1 为什么要提供该方法 完成一个查询返回值类型是Object[],并且是存储于List集合中的一种方式,实际返回值类型是 List<Object[]> 处理的是查询数据结果无法映射到类对象中,ORM,所有的数据按照查询结果字段顺序要求从数据库读取数据保存到Object数组,为了能满足多行数据查询要求,Ob...

2020-03-25 19:03:39 181 13

原创 Day 37 JDBC高级

JDBC高级1. Statement操作SQL语句1.1 Statement查询SQL数据操作// 查询指定的一个数据行,转换成对应的User对象@Testpublic void testSelectOne() { ResultSet resultSet = null; Statement statement = null; Connection connecti...

2020-03-24 18:55:17 464 12

原创 Day 36.2 JDBC

Day 36 JDBC1. JDBC介绍 Java Database Connectivity Java规定的数据库连接接口,SUN公司提供的,为了简化程序员操作数据库的过程。 SUN公司要求数据库提供商,按照JDBC API接口规范,完成对应Java程序的数据连接操作,规范Jar包,并且提供对应的操作方法。 JDBC接口中核心的内容 java.sql.* javax.sql...

2020-03-23 19:16:43 296 3

原创 Day 36.1 MySQL (三)

10.6 外键约束create table employee( id int primary key auto_increment, name varchar(50) not null, deptName varchar(50));-- 这里会导致数据冗余问题。并且存在资源的浪费insert into employee(name, deptName) value...

2020-03-23 19:16:10 1880 10

原创 Dart 语言学习 07 接口和包

Dart 语言学习 08Author : ScorpioDong1. 接口接口定义任何实体必须遵守的语法。接口定义了一组对象可用的方法。Dart没有声明接口的语法。类声明本身就是Dart中的接口。类应该使用implements关键字来使用接口。实现类必须提供已实现接口的所有功能的具体实现。换句话说,类必须重新定义它希望实现的接口中的每个函数。main(List<String&...

2020-03-22 21:38:56 334

原创 Dart 语言学习 06 类

Dart 语言学习 06Author : ScorpioDong1. 类Dart是一种面向对象的语言。它支持面向对象的编程功能,如类,接口等。OOP方面的类是创建对象的蓝图/模板。类封装了对象的数据。Dart为类概念提供了内置支持。1.1 类的声明使用class关键字在Dart中声明一个类。类定义以关键字class开头,后跟类名。类名建议使用大驼峰命名法。类名后跟一对大括号包...

2020-03-22 21:38:16 244

原创 Minecraft Fabric模组开发 (七) 物品存储实现

物品存储实现上一章学习了方块实体的实现,但并没有添加功能,这一章学习为方块添加存储物品的功能。方块实体类实现Inventory接口public class IronFurnaceBlockEntity extends BlockEntity implements Inventory { private DefaultedList<ItemStack> invent...

2020-03-22 21:36:42 1675

原创 Minecraft Fabric模组开发 (六) 方块实体

方块实体上一章节简单了解了方块的状态。启动游戏时,一个方块所有可能的状态都会被注册,这就意味着如果你有14个布尔属性,这个方块就有2^14=16384个状态被注册,因为这个原因,方块不应该有太多的方块状态属性。准确来说,方块状态是用来看的,BlockEntity(方块实体)才是用于更高级状态的。BlockEntity(方块实体)主要用于向方块存储数据,因此在创建方块实体之前,得先有个方...

2020-03-22 21:35:25 1795

原创 Minecraft Fabric模组开发 (五) 第一个方块

第一个方块创建方块(以创建一个铁熔炉为例,最好的方法当然是继承原版熔炉的FurnaceBlock类或者其父类AbstractFurnaceBlock ,这里为了学习,重新写一个铁熔炉类)public static final Block IRON_FURNACE_BLOCK = new Block(FabricBlockSettings.of(Material.METAL).build()...

2020-03-22 21:34:12 1634 3

原创 Minecraft Fabric模组开发 (四) 添加物品合成表

添加物品合成表添加基础的合成(其实跟原版合成一样)新建目录resources/data/tutorial/recipes在目录下新建名为物品ID的json文件(以羊毛斧为例),添加如下代码{ "type": "minecraft:crafting_shaped", "pattern": [ "XX", "X#", " #" ], "key":...

2020-03-22 21:33:04 2700 1

原创 Minecraft Fabric模组开发 (三) 添加各种功能物品

添加各种功能物品1. 添加食物食物物品的添加比较简单,在实例化物品对象时,设置Setting参数就可以注册为食物 public static final Item GREEN_APPLE_FOOD = new Item(new Item.Settings() .food((new FoodComponent.Builder()) ...

2020-03-22 12:45:38 4890 21

原创 Minecraft Fabric模组开发 (二) 第一个物品

第一个物品创建第一个物品在模组主文件类中实例化一个新的Item类型对象,实例化时需要传入一个Settings类型参数。Settings参数可以设置物品的基本属性,比如物品堆叠数量,所属创造物品栏等。public static final Item GREEN_APPLE_ITEM = new Item(new Item.Settings());在onInitialize()...

2020-03-21 15:11:25 5599 14

原创 Day 35 MySQL (二)

Day 357.7 分组查询select fieldNamefrom tbName where condition_ group by 分组要求;-- group by是一个分组关键字-- 查询各部门人数是多少-- 1. 需要按照department_id进行分组-- 2. 计数需要使用count, 根据用户的employee_id进行计数操作select departmen...

2020-03-20 19:05:09 697 12

原创 Day 34 MySQL (一)

Day 341. 为什么要使用数据库现有数据存储方式:Java程序在运行过程中对于数据进行存储操作,变量,对象,数组,集合…。数据保存在内存中,数据存储是瞬时的,程序退出,电脑异常,都会导致数据丢失并且不可逆文件存储,XML,JSON,其他文件。可操作性较差,API繁琐,不同文件有不同解析方式,内存占用和效率问题上很难达到两全存在问题文件保存的数据没有数据类型区分,都是字符串。...

2020-03-19 19:07:13 733 10

原创 Minecraft Fabric模组开发 (一) 开发环境

第一章 开发环境安装 jdk(8或以上版本)安装 IntelliJ IDEA (Community版本可以免费使用)下载 fabric-mod-example 到本地修改 gradle.properties 文件mod_version = 1.0.0(版本号)maven_group = com.github.haodong1101 (包名)archives...

2020-03-18 18:40:48 15581 29

原创 Day 32 TCP服务器和客户端学生管理系统(一)

Day 31TCP服务器和客户端学生管理系统1. 服务器功能分析1.1 数据处理模块1. 验证用户登陆2. 完成最基本的增删改查功能3. 考虑锁操作1.2 数据存储模块1. JSON文件格式存储和读取2. 定时更新操作1.3 数据传输模块1. 发送JSON格式数据到客户端2. 接收客户端发送请求和数据2. 客户端功能分析2.1 登陆模块1. 登陆请求模块验...

2020-03-17 19:20:36 267 14

原创 Day31 NIO网络聊天室实现

Day 31 1. NIO完成网络编程1.1 Selector选择器老大Selector 选择器,网络编程使用NIO的大哥!!! 服务器可以执行一个线程,运行Selector程序,进行监听操作。 新连接, 已经连接, 读取数据,写入数据Selector常用方法: public static Selector Open(); 得到一个选择器对象 public int selec...

2020-03-16 20:18:49 174 12

原创 Java 日志工具Log4j的简单配置和使用

Java 日志工具Log4j的简单使用1. 简介Log4j是Java的一个日志工具,是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可...

2020-03-15 15:09:12 3547 12

原创 Dart 语言学习 05 函数和异常

Dart 语言学习 05Author : ScorpioDong1. 函数函数是可读,可维护和可重用代码的构建块。函数是一组用于执行特定任务的语句。函数将程序组织成逻辑代码块。一旦定义,可以调用函数来访问代码。这使得代码可以重用。此外,函数可以轻松读取和维护程序的代码。1.1 函数定义定义函数的标准语法如下:返回值类型 函数名(形参列表) { 函数体和返回值}返回值...

2020-03-14 19:11:05 1305 11

原创 Dart 语言学习 04 字符串、列表和映射

Dart 语言学习 04Author : ScorpioDong1. 字符串Dart字符串数据类型表示一系列字符。Dart字符串是一系列UTF 16代码单元。1.1 字符串拼接字符串采用 + 进行拼接操作:String str = "hello" + " " + "dart";print(str);执行结果:hello dart字符串可以使用${}来插入字符串中Dart...

2020-03-13 21:46:59 326

原创 Day 30 单例模式和Java NIO

Day 30Author : ScorpioDong1. 单例模式1.1 要求 当前类只有一个对象,一旦当前类存在一个对象之后,无法在重新创建当前类的对象,就算是你要创建,代码返回的对象依然是上一次创建的对象。 懒汉模式,饿汉模式1.2 单例模式推导package com.qfedu.a_single;import java.util.concurrent.locks.Lo...

2020-03-13 19:21:39 215 12

原创 Dart 语言学习 03 分支结构和循环结构

Dart 语言学习 03Author : ScorpioDong1. 分支结构1.1 if - else// if 语句if (1 * 3 == 3) { print(true);}// if - else 语句if (2 * 4 == 8) { print(true);} else { print(false);}// if - else if...

2020-03-12 20:40:26 239

原创 Day 29 Stream流和方法引用

Day 291. Stream 流1.1 引入 Stream 流不是I/O流,按照流水线处理方式来考虑代码中的思想。 JDK1.8 之后,我们拥有了Lambda表达式,让代码的中心偏向解决实际问题,直到重点,可以提高效率。 Stream流中使用了大量Lambda表达式,利用Lambda操作方式,提供开发效率1.2 传统遍历方式和Stream流方式Stream流更倾向于重点1.3...

2020-03-12 19:01:29 432 12

原创 Dart 语言学习 02 变量和运算符

Dart 语言学习 02Author : ScorpioDong1. Dart 变量变量是“存储器中的命名空间”,它用于存储值。变量的名字也就是标识符,遵守标识符的一些规则,建议变量使用小驼峰命名法。和其他的语言不同的是,Dart所有的变量存储的都是值的引用,而不是值本身,也可以说Dart所有变量都是引用数据类型。1.1 变量的声明Dart语言中的变量有以下声明方式:var na...

2020-03-11 20:49:22 223

原创 Day 28 函数式接口

Day 281. 函数式接口1.1 概述 如果说一个接口只有一个方法,而且干方法是一个缺省属性为abstract方法,该接口称之为函数式接口。 可以直接使用JDK1.8新特征,Lambda表达式来使用 Lambda表达式对比匿名内部类 1. 简化了代码结构 2. 节约了内存资源 3. 让程序员更加关注我要做什么,而不是为了做什么需要完成什么1.2 @Functiona...

2020-03-11 19:13:45 420 11

原创 Dart 语言学习 01 Dart语言初探、Dart语言数据类型

Dart语言初探、Dart语言数据类型Dart 语言学习 011. Dart 语言介绍2. 环境配置3. Hello World执行 Dart 程序dart 命令3. Dart 语言注释4. Dart 语言标识符5. Dart 语言数据类型5.1 数字5.2 字符串5.3 布尔类型5.4 列表类型5.5 集合类型5.6 映射类型5.7 符文类型5.8 符号类型TipsDart 语言学习 01...

2020-03-10 22:24:19 384

原创 Day 27 注解

Day 271. 注释1.1 注释解释注释: 解释代码,给程序员看的注解: Java语言中的类、方法、变量、参数和包等都可以被标注。和Javadoc不同,Java标注可以通过反射获取标注内容。在编译器生成类文件时,标注可以被嵌入到字节码中。Java虚拟机可以保留标注内容,在运行时可以获取到标注内容[2]。 当然它也支持自定义Java标注。 JDK1.5 之后的特征 用于说明程序 ...

2020-03-10 19:04:21 414 14

原创 Day 26 TCP网络聊天室实现和JSON

Day 261. TCP网络聊天室实现1.1 分析客户端 功能: 1. 数据发送 2. 数据接收 技术: 1. socket 2. 输入流和输出流 3. 多线程,客户端功能模块有两个线程 聊天: 1. 群聊 2. 私聊 私聊前缀 @服务器用户ID号:msg 服务器 功能: 1. 数据转发 2. 用户注册 技术: 1. ServerS...

2020-03-09 19:00:05 402 10

原创 Java 实现的多人网络聊天室

Java 实现的多人网络聊天室Author : ScorpioDong1. 成品展示2. 软件界面的绘制Java可用的GUI框架有AWT,Swing、JavaFX等,JavaFX是Java推荐使用的较大型的GUI框架,界面拥有很高的可定制性。因为本软件功能较少,以学习网络通信为目的,所以使用简单易上手的Swing框架。这里新建了一个MainFrame的类,继承自JFrame,实现软...

2020-03-08 20:23:58 4776 14

原创 Java NIO 网络编程初探

Java NIO 网络编程初探1. Java NIOJava 1.4 版本添加了一个新的IO API,称为NIO(New IO)。NIO拥有所有IO的功能,但是操作方法却完全不一样。NIO支持面向缓冲区的、基于通道的IO操作。能够更加高效的进行IO操作。NIO同样拥有文件读写,网络通信等IO操作,今天我们来看看NIO中的TCP网络通信的使用方法。2. Java NIO 三大核心Java N...

2020-03-07 20:57:10 453 10

原创 Day 25 XML和反射使用

Day 251. IDEA使用2. XML2.1 XML概述Extensible Markup Language可拓展标记语言用途 1. 数据存储,小型数据库,存在一定的CRUD操作可能性 2. 网络端数据的传输 3. JavaWEB框架项目配置文件 Spring Druid ... W3C 万维网联盟制定的规范2.2 基本语法1. XML文件后缀名.xml2...

2020-03-06 19:54:12 1259 12

原创 Day15 ArrayList和LinkedList

Day151. ArrayList性能问题1.1 增删慢增加慢 1. 增加元素有可能出现调用grow方法,grow需要进行数组的扩容操作,操作过程中需要大 量的移动和拷贝过程,浪费时间 2. 在某一个指定位置添加元素,会导致从指定位置开始,之后的元素整体向后移动,涉及 移动复制操作,浪费时间。删除慢: 1. 按照ArrayList可变长数组要求,删除元素之后,之后的内容都需要整...

2020-03-05 21:29:15 195

原创 Day 05 CSS 文本、字体和链接

Day 05Author:ScorpioDong1. CSS 文本格式1.1 文本颜色使用颜色属性可以设置文字的颜色1.2 文本对齐text-align 属性可以改变文本的水平对齐方式常用属性值有:left: 左对齐right: 右对齐center: 居中对齐justify: 两端对齐1.3 文本修饰该属性用来设置文本的样式常用属性值有:n...

2020-03-05 21:27:18 185

原创 Day 24反射

Day 241. 反射1.1 Java文件和.class文件的关系Java文件 Java文件中包含代码的所有内容 .class文件 .java文件通过javac编译工具生成对应的.class字节码文件 包含 Class 完整的包名,类名 Field 成员变量 Method 成员方法1.2 程序加载过程和.class文件的关系在Java文件运行过程中,当前程...

2020-03-05 19:01:23 295 13

原创 Day 23 网络通信

Day 231. 网络概述1.1 C/S 和 B/SC/S:客户端 / 服务器软件结构服务提供商给予用户服务需要准备的内容各大平台的客户端Android iOS PC windows Linux macOS服务器提供服务软件更新服务器更新后,本地客户端也要更新B/S:浏览器 / 服务器软件结构服务提供商提供数据服务,以及前端数据展示方式浏览器提...

2020-03-04 16:59:03 1321 12

原创 Day 04 CSS概述和CSS背景属性

Day 04Author:ScorpioDong1. 什么是CSSCSS指层叠样式表(Cascading Style Sheets)CSS定义了HTML文档中的元素如何在浏览器中显示CSS可以定义在<head>中的<style>标签中(内部样式表)CSS可以定义在外部.css文件,通过<link>标签引入(外部样式表)CCS可以定义在具体元素...

2020-03-03 22:22:12 273 2

原创 Day 22多线程、线程通信、线程池和Lambda表达式

Day 22Author:ScorpioDong1. 多线程1.1 WAITING(无限等待)当某一线程被执行wait()方法,需要等待其他线程进行唤醒操作。public void wait();当前线程进入无线等待状态开启锁对象public void notify();唤醒一个当前锁对象有关的无线等待线程,随机选择开启锁对象public vo...

2020-03-03 19:10:03 621 16

原创 Day 03 HTML5

Day 03Author : ScorpioDong1. HTML5 简介HTML5是HTML的最新修订版本,2014年10月由万维网联盟(W3C)完成标准制定。HTML5的设计目的是为了在移动设备上支持多媒体相比于HTML,HTML5有很多新的特性新元素新属性完全支持CCS3Video和Audio2D/3D制图本地存储本地SQL数据Web应用2. HTM...

2020-03-03 15:20:25 299

原创 Day 14 集合

Day 141. 集合1.1 迭代器通过集合对象获取对应的Iterator<E>迭代器 Iterator<E> iterator();常用方法 boolean hasNext(); 判断Iterator是否可以继续运行 E next(); 获取Iterator当前指向元素,并且指向下一个元素 void remove(); 删除 ...

2020-03-02 22:34:52 283

原创 Day 21 多线程和多线程同步

Day 211. 多线程1.1 优缺点优点提升资源利用率提高用户体验缺点降低了其他线程执行概率用户会感受到软件的卡顿增加了系统资源压力多线程情况下的共享资源问题,线程冲突,线程安全问题1.2 创建自定义线程类的两种方式class Thread类 Java中的线程类 Runnable接口的实现类,同时提供了很多线程的操作使用方法interface Run...

2020-03-02 16:54:17 421 13

空空如也

空空如也

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

TA关注的人

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