自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小释嚼奶糖

无限进步。

  • 博客(67)
  • 收藏
  • 关注

原创 Java JDBC

Java 数据库连接,(Java Database Connectivity,简称 JDBC)是 Java 语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。

2022-09-12 10:22:47 424 1

原创 Java collections framework

Java 提供集合框架,是一个包含一系列实作可重复使用集合的数据结构的类别和界面集合。ArrayList 中删除数据时不能使用 forEach,可以使用迭代器。JDK1.8 以后,Hash 表底层是数组、链表和红黑树。迭代是重复反馈过程的活动,目的是接近并达到某些目标。若有嵌套循环时,不使用迭代器,使用 forEach。JDK1.8 以前,Hash 表底层是数组和链表。HashMap 属于 AbstractMap。增强 for 循环是一个小型,隐性的迭代器。Set 集合无序,且不允许出现重复元素。

2022-09-12 10:19:41 352

原创 Java Multithreading

一台计算机为何能够执行多个程序?它们又是如何去执行多个程序的?

2022-09-12 10:15:48 395

原创 Java Chartset

字符集编码问题。

2022-09-12 09:53:57 321

原创 Java IO Steam

Linux 中操作/home/fleming/project 时,java 程序编写时要正常使用斜杠Windows 中操作文件目录 G:\桌面源\study\src\com\google\study\throwable 时,java 程序中应使用双反斜杠,因为第一个反斜杠会被当作转义字符。

2022-09-12 09:50:58 207

原创 Throwable and try/catch

一、异常Java提供优秀的解决办法:异常处理机制Java标准裤内建了一些通用的异常,这些类以Throwable为顶层父类。Throwable又派生出Error类和Exception类。错误:Error类以及他的子类的实例,代表了JVM本身的错误。错误不能被程序员通过代码处理,Error很少出现。因此,程序员应该关注Exception为父类的分支下的各种异常类。异常:Exception以及他的子类,代表程序运行时发送的各种不期望发生的事件。可以被Java异常处理机制使用,是异常处理的核心。总体

2022-04-13 22:16:41 434 1

原创 String problem and StringBuilder

一、String存在的问题Java开辟了两类存储区域,分别是栈和堆:存储区域存储内容优点缺点回收栈基本类型的变量和对象的引用变量存取速度比堆要快,仅次于寄存器,栈数据可以共享存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。栈中主要存放一些基本类型的变量当超过变量的作用域后,Java会自动释放掉该变量,内存空间可以立即被另作他用堆由new等指令创建的对象和数组可以动态地分配内存大小,生存期也不必事先告诉编译器由于要在运行时动态分配内存,存取速度较慢由Ja

2022-04-11 16:59:16 486

原创 Unit test and main function

一、模块化编程以往的思维方式:编写功能函数(方法)进行本地测试main()方法中调用函数看输出,程序员肉眼通过控制台打印输出,查看结果是否符合预期预期结果是通过人工计算的而在企业项目中,这种方式显然是不合理的,转变思维:规定main方法中不应出现逻辑性的代码逻辑性代码应当被抽离到单个的实现方法中包括打印字符串也不应该出现在main()中main是程序的入口点,main中只做方法调用二、JUnit单元测试当我们要脱离main测试时可以使用JUnit框架(JUnit是为Ja

2022-04-11 00:26:06 484

原创 Java common API

首先,学会查阅API文档并合理利用浏览器搜索是快速进步的一种方式。下文有几个Java中常用的API一、Scanner 类通过 Scanner 类来获取用户的输入:import java.util.Scanner; public class ScannerDemo { public static void main(String[] args) { Scanner scan = new Scanner(System.in); // 从键盘接收数据

2022-03-22 21:38:27 589

原创 What is API

API的定义和用处API:(Application Programming Interface)【应用程序接口】是一种计算接口,它定义多个软件中介之间的交互,以及可以进行的调用(call)或请求(request)的种类,如何进行调用或发出请求,应使用的数据格式,应遵循的惯例等。它还可以提供扩展机制,以便用户可以通过各种方式对现有功能进行不同程度的扩展[3]。一个API可以是完全定制的,针对某个组件的,也可以是基于行业标准设计的以确保互操作性。通过信息隐藏,API实现了模块化编程,从而允许用户实现

2022-03-22 21:31:18 407

原创 Hibernate

一、Hibernate概述(开放源代码的对象关系映射框架)Hibernate是一个开放源代码的对象关系映射框架,它对JDBC(Java Database Connectivity,Java数据库连接)进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架。hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Ser

2022-01-24 21:58:14 832

原创 Struts2

一、Struts2Struts2技术是用于界面和程序交互的一种框架,可提高MVC中V和C的交互效率。Struts2是 Apache 软件组织推出的一个基于 MVC 模式的轻量级 Web 框架,自问世以来,就受到了广大 Web 开发者的欢迎。目前,Struts2 在 Java Web 开发领域中已占据了十分重要的地位。目前为止,Struts 框架拥有两个主要版本:Struts1.x 和 Struts2.x。Struts1 是最早的基于 MVC 模式的轻量级 Web 框架,它能够合理划分代码结构,并包含验

2022-01-24 21:54:04 553

原创 software framework概述

一、软件框架软体框架(software framework),通常指的是为了实现某个业界标准或完成特定基本任务的软体组件规范,也指为了实现某个软体组件规范时,提供规范所要求的基础功能的软体产品。伴随着软件开发的发展,在多层的软件开发项目中,可重用、易扩展的,而且是经过良好测试的软件组件,越来越为人们所青睐。框架的功能类似于基础设施,与具体的软体应用无关,但是提供并实现最为基础的软体架构和体系。软体开发者通常依据特定的框架实现更为复杂的商业运用和业务逻辑。这样的软体应用可以在支持同一种框架的软体系统中运行

2021-10-31 09:54:10 740

原创 【MySQL学习笔记】MySQL原理---企业规范约束

一、库表字段约束规范不要因为大度而浪费性能,浪费存储不要使用mysql中的关键字进行命名(table、select等)库名、表名与字段名必须是小写字母,不能用大写!并且不能以数字开头!禁止下划线中间出现数字!(因为Windows中是对大小写不敏感的,Linux是对大小写敏感的,我们需要避免不必要的麻烦)表名不能用复数形式命名,应当考虑与业务名有关。单表行数超过5000万行或单表容量超过2G的要分库分表。值为小数的字段应当使用decimal避免精度丢失,禁止使用float和dou

2021-10-20 15:41:18 121

原创 【MySQL学习笔记】MySQL原理---函数

一、number生成一个随机数:SELECT rand();抽奖抽出三个人:SELECT * FROM student ORDER BY rand() LIMIT 3;向上取整:SELECT round(3.1);向下取整:SELECT floor(3.1);截取数字:SELECT truncate(3.141593654,2)随机排序:SELECT * FROM student ORDER BY rand();二、string将字符串转换为大写

2021-10-20 09:59:02 140

原创 【MySQL学习笔记】MySQL原理---存储过程

一、delimiter存储过程是指模块化设计可以理解为SQL中的函数可以在业务进行前,提前写好业务进行事件点上再使用命令调用存储过程并执行存储过程中可能含有很多SQL语句,每条语句以分号结尾,回车时会将命令发送至服务器,因此需要对SQL语句结束符有所改动。改变SQL语句结束符为 “ // ” :DELIMITER //还原SQL语句结束符为 “ ; ” :DELIMITER ;二、procedure 存储过程的用途改变SQL语句结束符为 “ // ” :DELIMITE

2021-10-19 23:02:29 129

原创 【MySQL学习笔记】MySQL原理---索引

一、索引(index)索引在MySQL中也叫做“键”,是存储引擎用于快速找到记录的一种数据结构。索引优化应该是对查询性能优化最有效的手段了,索引能够轻易将查询性能提高好几个数量级。注意:对需要被经常性、频繁查询的数据创建索引表中数据很少时,不要创建索引分类:1.普通索引index :加速查找2.唯一索引 主键索引:primary key :加速查找+约束(不为空且唯一) 唯一索引:unique:加速查找+约束 (唯一)3.联合索引 -primary key(i

2021-10-19 19:25:25 86

原创 【MySQL学习笔记】MySQL原理---事务

一、事务的提出购买商品时点击支付,并未付款,思考此时数据库的变化是怎样的?也就是说,某些时候,需要我们确定某事物之后再更新数据库。因此引入————事务(transaction)二、transaction创建一个钱包表:开始一个事务:START TRANSACTION;让1号用户金额减50:UPDATE wallet SET balance=balance-50 WHERE id=1;让2号用户金额加50:UPDATE wallet SET balance=balanc

2021-10-18 22:11:21 160

原创 【MySQL学习笔记】MySQL原理---视图

一、view视图创建、使用用来筛选,防止业务员看到敏感数据创建一张学生姓名与电话的视图:CREATE VIEW vw_stu ASSELECT name,phone FROM student;SELECT * FROM vw_stu;创建一张学生姓名、电话与分数的视图:CREATE VIEW vw_stu_all AS SELECT name,phone,score FROM student INNER JOIN score ON student.id=sc

2021-10-17 17:53:42 177

原创 【MySQL学习笔记】MySQL原理---子查询

一、子查询基本语法两个基本表:进行子查询,查询成绩大于等于85的学生实体的数据:子句的作用:SELECT stuid FROM score WHERE score >= 8;整条语句的作用:SELECT * FROM student WHERE id IN ( SELECT stuid FROM score WHERE

2021-10-15 16:31:50 447

原创 【MySQL学习笔记】MySQL原理---多表查询

一、union联合查询要查询的结果来自于多个表,且多个表没有直接的连接关系,但查询的信息一致时。特点:1、要求多条查询语句的查询列数是一致的2、要求多条查询语句查询的每一列的类型和顺序最好一致3、union关键字默认去重,如果使用union all 可以包含重复项两张表进行联合查询(逻辑上不正确,仅做示例进行展示以便理解):SELECT age, gender FROM info UNIONSELECT 'name', phone FROM teacher;二、

2021-10-15 15:45:34 300

原创 【MySQL学习笔记】MySQL原理---单表查询

一、select查询2*7的值:SELECT 2*7;查询2*7的值并用res进行命名:SELECT 2*7 AS res;二、fromCREATE TABLE t1( id INT, name VARCHAR(20) );CREATE TABLE t2( score1 INT(20), score2 INT(20) );INSERT INTO t1 VALUES(1,'frank')(2,'jerry');INSERT

2021-10-14 20:34:00 190

原创 【Java学习笔记】Java思维---MVC设计模式

一、MVC模式Model–view–controller是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。代表性的MVC框架有:Struts、Spring、Hibernate二、MVC实质实际上强制性地将程序的输入、处理、和输出分开。View:代表视图,也就是与用户交互的界面,可以给用户显示业务逻辑数据,同时也可以 接收用户输入的数据。(在web项目中以jsp作为view)Controller:代表控制器,用来接

2021-10-13 10:17:47 250

原创 【MySQL学习笔记】MySQL原理---数据库设计思维

一、数据库设计基本概念关系? 关系型数据库,用两张表的共有字段去确定数据的完整性行? 一条数据 (实体)列? 一个字段 (属性)冗余? 减少冗余、适当冗余(为了高效率查询)二、实体和实体之间的关系一对一?一对多?多对多?三、Codd第一范式(1NF)第一范式是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。达到1NF的操作:取消表中套表四、Codd第二范式 (2NF)第二范式要求数据库表中的每个实例

2021-10-12 22:59:16 133

原创 【MySQL学习笔记】MySQL原理---列属性完整性

一、列属性问题auto_increment(自增)标注的一定是主键建表时,一旦用auto_increment说明字段时,删除主键字段对应的某一单条数据后,本条主键字段对应内容不能再添加数据。如下图,若删除id字段为数字3的这一行后,不能再插入主键id=3的数据。二、Primary Key主键的作用以及企业用途创建时给确定的主键后面加上primary key后,不允许其值为NULL,除非设置为auto_increment(自增)性质:具有唯一性,不可重复性优点:保证数据的完整性,加快查询

2021-10-10 15:36:12 297

原创 【MySQL学习笔记】MySQL原理---数据类型

一、数据库的基本类型问题没有统一的标准,但要符合业务项目的逻辑二、int 数据类型企业重视考虑类型的大小与范围字段不可能为负数时,定义为unsigned 无符号数类型大小范围(有符号)范围(无符号)用途TINYINT1 Bytes(-128,127)(0,255)小整数值SMALLINT2 Bytes(-32 768,32 767)(0,65 535)大整数值MEDIUMINT3 Bytes(-8 388 608,8 388 607)

2021-10-07 22:51:57 128

原创 【MySQL学习笔记】MySQL原理---数据操作

一、插入数据插入数据:insert into 表名(字段名,字段名,字段名,字段名) values(值,值,值,值);INSERT INTO teacher (id, name, phone, address) VALUES(1, 'Fleming', '18888888888', 'TianJin');查询数据:SELECT * FROM teacher;省略简写:INSERT INTO teacher VALUES(2, 'Jeff', '18888889999', 'BeiJ

2021-10-04 23:41:30 139

原创 【MySQL学习笔记】MySQL原理---表的基本操作

一、表的思维仓库——>数据库仓库下面有表数据在表中二、引入数据库并查看数据库中的表创建一个数据库:CREATE DATABASE IF NOT EXISTS 'school' charset=gbk;查看数据库的创建方式:SHOW CREATE school;使用单个数据库:use 数据库名;USE school;显示所有的表:SHOW TABLES;三、创建表create table 表名(​ 字段名 类型(长度),​ 字段名 类型(长度

2021-10-03 12:16:30 107

原创 【MySQL学习笔记】MySQL原理---库的基本操作

一、显示显示所有的仓库:SHOW DATABASES;二、创建数据库创建一个学生库:create database 库名;CREATE DATABASE student;强制使用关键字(不建议):create database ‘强制库名’;CREATE DATABASE 'database';先检查数据库是否存在,再创建:create database if not exists ‘强制库名’;CREATE DATABASE IF NOT EXISTS 's

2021-10-03 11:35:14 96

原创 【MySQL学习笔记】MySQL原理---安装连接与配置

一、安装方式数据库选择:选择与公司业务相关的选择最新的稳定型版本安装Server only——>端口3306——>配置环境变量二、终端选择windows TerminalHyper三、服务启动Mysql是典型的C/S架构client 客户端通过命令去访问/操作 数据库server 服务端Mysql server[Mysql5.7版本下]开始服务:net start Mysql57停止服务:net stop Mysql57四、连

2021-10-03 11:21:44 200

原创 【Java学习笔记】Java思维---匿名内部类

一、匿名内部类的定义你可以在定义一个类的同时对其进行实例化。匿名内部类与局部类很相似,不同的是它没有类名,若某个局部类只需要用一次,那么就可以使用匿名内部类。匿名内部类没有名字,那该如何描述以及new对象呢?通过继承它的父类或者实现一个接口来达成这一目的。二、匿名内部类的实现定义一个接口:public interface Human{ public void eat(); public void sleep();}主函数中:public class Applica

2021-10-01 17:22:17 117

原创 【Java学习笔记】Java思维---多态(OOP三大特性)

一、多态定义多态是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量倒底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定。因为在程序运行时才确定具体的类,这样,不用修改源程序代码,就可以让引用变量绑定到各种不同的类实现上,从而导致该引用调用的具体方法随之改变,即不修改程序代码就可以改变程序运行时所绑定的具体代码,让程序可以选择多个运行状态,这就是多态性。多态是同一个行为具有多

2021-10-01 16:12:58 186

原创 【Java学习笔记】Java思维---final关键字

final关键字可以用来修饰类、方法和引用。若Labrador作为最底层的类,后面无子类,此时使用final标志Labrador是最终类。一、final修饰类final修饰的类不能被继承。public final class Labrador extends Dogs{} 二、final修饰方法final修饰的方法不能重写,但可以被使用。// 在Dogs类中public final boolean isGuideBlindness(){ return false;}

2021-10-01 11:56:37 140

原创 【Java学习笔记】Java思维---区分抽象类与接口

一、设计目的abstract class与interface两者本身的设计目的是不同的。接口的设计目的,是对类的行为进行约束。它只约束了行为的有无,但不对如何实现行为进行限制。抽象类的设计目的,是代码复用。在抽象类中实现方法,避免让所有的子类来实现此方法,达到代码复用的目的。二、内容角度接口是对事物的行为进行抽象,针对的是行为。抽象类是对具体事物的抽象,针对的是具体事物。三、关系角度继承是一个 "是不是"的关系。接口实现则是 "有没有"的关系。如果一个类继承了某个抽象类,则子类必定是

2021-10-01 11:35:22 116

原创 【Java学习笔记】Java思维---抽象类与抽象方法

一、 提出新问题定义Animal作为父类,其作用是抽象子类的共性但是存在子类中方法未重写的情况,此时调用子类中的方法会返回父类中的方法体。但是父类应当是抽象的共性集合体,不具备实际意义,因此应当有所限制。二、抽象类的衍生抽象的目的是为了概括(解释)具体事物抽象——————具体[动物]—————[狗]// 抽象类public abstract class Animal{}// main函数public class Application{ public static void

2021-10-01 11:05:11 148

原创 【Java学习笔记】Java思维---方法的重写与super

一、方法的重写(@override)在Animal类中定义一个barking方法public void barking(){ System.out.println("动物叫");}而我们希望Dogs、Cats输出的叫声不相同,由于我们定义的是方法,不是变量,此时用户不能给方法赋值。【解决方案】在Dogs和Cats类中重写barking方法。public class Dogs extends Animal{ // Alt+insert @override

2021-09-30 01:10:26 146

原创 【Java学习笔记】Java思维---封装(OOP三大特性)

OOP封装一、封装(Encapsulation):Java中的封装是一种将数据(变量)和作用于数据(方法)的代码打包为一个单元的机制。在封装中,类的变量将对其他类隐藏,并且只能通过当前类的方法访问。封装可以对类的内部进行改变而不影响整体结构,同时也保护来数据。对于外界而言,它的内部是隐藏的,暴露给外界的只是可以访问它的方法。我们把成员变量做的安全,使用private代替public成员变量的特性,我们另外提供getter and setter,这种方法叫做OOP封装。这种方法给了用户一个能够设

2021-09-30 01:04:45 156

原创 【Java学习笔记】Java思维---继承(OOP三大特性)

一、需求重定义扩充思维,当我们设计了一个产品,最初目的可能是面向单一的养狗用户。那么,怎样做才能让我们设计的产品同样能够在养猫用户身上复用呢?思维再上升一个层面,设计一个动物类的产品,因为动物身上有很多共性。二、继承extends指继承,子类继承了父类的属性和方法目录:♐️com.fleming.try(父类)Animal(子类)Dogs(子类)Cats(子类)Hamsters(main)Application// 父类public class Animal{ priv

2021-09-30 01:02:10 117

原创 【Java学习笔记】Java思维---接口思想(Interface)

一、概念定义:Java接口(Interface),是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。二、硬件接口思想:public interface Pci{ public void start(); public void stop(); }public class Netcard implements Pci{ public void start()

2021-09-29 21:06:12 253

原创 【Java学习笔记】Java思维---List接口与ArrayList实现类

一、List接口实现类ArrayList(数组线性表)List 接口的实现类。其内部基于一个大小可变数组来存储允许存储 null 元素LinkedList(双向链表)List 接口的链接列表实现类允许存储 null 元素Vector(向量)功能和ArrayList一样线程安全Stack(栈)表示后进先出(LIFO)的对象堆栈二、ArrayList类 Java入门之集合List接口(重写equals方法) List是一个接口,List接口不能被构造,也就是我们所说的不能创建

2021-09-29 20:59:24 525

空空如也

空空如也

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

TA关注的人

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