Java JDBC Java 数据库连接,(Java Database Connectivity,简称 JDBC)是 Java 语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。
Java collections framework Java 提供集合框架,是一个包含一系列实作可重复使用集合的数据结构的类别和界面集合。ArrayList 中删除数据时不能使用 forEach,可以使用迭代器。JDK1.8 以后,Hash 表底层是数组、链表和红黑树。迭代是重复反馈过程的活动,目的是接近并达到某些目标。若有嵌套循环时,不使用迭代器,使用 forEach。JDK1.8 以前,Hash 表底层是数组和链表。HashMap 属于 AbstractMap。增强 for 循环是一个小型,隐性的迭代器。Set 集合无序,且不允许出现重复元素。
Java IO Steam Linux 中操作/home/fleming/project 时,java 程序编写时要正常使用斜杠Windows 中操作文件目录 G:\桌面源\study\src\com\google\study\throwable 时,java 程序中应使用双反斜杠,因为第一个反斜杠会被当作转义字符。
Throwable and try/catch 一、异常Java提供优秀的解决办法:异常处理机制Java标准裤内建了一些通用的异常,这些类以Throwable为顶层父类。Throwable又派生出Error类和Exception类。错误:Error类以及他的子类的实例,代表了JVM本身的错误。错误不能被程序员通过代码处理,Error很少出现。因此,程序员应该关注Exception为父类的分支下的各种异常类。异常:Exception以及他的子类,代表程序运行时发送的各种不期望发生的事件。可以被Java异常处理机制使用,是异常处理的核心。总体
String problem and StringBuilder 一、String存在的问题Java开辟了两类存储区域,分别是栈和堆:存储区域存储内容优点缺点回收栈基本类型的变量和对象的引用变量存取速度比堆要快,仅次于寄存器,栈数据可以共享存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。栈中主要存放一些基本类型的变量当超过变量的作用域后,Java会自动释放掉该变量,内存空间可以立即被另作他用堆由new等指令创建的对象和数组可以动态地分配内存大小,生存期也不必事先告诉编译器由于要在运行时动态分配内存,存取速度较慢由Ja
Unit test and main function 一、模块化编程以往的思维方式:编写功能函数(方法)进行本地测试main()方法中调用函数看输出,程序员肉眼通过控制台打印输出,查看结果是否符合预期预期结果是通过人工计算的而在企业项目中,这种方式显然是不合理的,转变思维:规定main方法中不应出现逻辑性的代码逻辑性代码应当被抽离到单个的实现方法中包括打印字符串也不应该出现在main()中main是程序的入口点,main中只做方法调用二、JUnit单元测试当我们要脱离main测试时可以使用JUnit框架(JUnit是为Ja
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); // 从键盘接收数据
What is API API的定义和用处API:(Application Programming Interface)【应用程序接口】是一种计算接口,它定义多个软件中介之间的交互,以及可以进行的调用(call)或请求(request)的种类,如何进行调用或发出请求,应使用的数据格式,应遵循的惯例等。它还可以提供扩展机制,以便用户可以通过各种方式对现有功能进行不同程度的扩展[3]。一个API可以是完全定制的,针对某个组件的,也可以是基于行业标准设计的以确保互操作性。通过信息隐藏,API实现了模块化编程,从而允许用户实现
Hibernate 一、Hibernate概述(开放源代码的对象关系映射框架)Hibernate是一个开放源代码的对象关系映射框架,它对JDBC(Java Database Connectivity,Java数据库连接)进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架。hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Ser
Struts2 一、Struts2Struts2技术是用于界面和程序交互的一种框架,可提高MVC中V和C的交互效率。Struts2是 Apache 软件组织推出的一个基于 MVC 模式的轻量级 Web 框架,自问世以来,就受到了广大 Web 开发者的欢迎。目前,Struts2 在 Java Web 开发领域中已占据了十分重要的地位。目前为止,Struts 框架拥有两个主要版本:Struts1.x 和 Struts2.x。Struts1 是最早的基于 MVC 模式的轻量级 Web 框架,它能够合理划分代码结构,并包含验
software framework概述 一、软件框架软体框架(software framework),通常指的是为了实现某个业界标准或完成特定基本任务的软体组件规范,也指为了实现某个软体组件规范时,提供规范所要求的基础功能的软体产品。伴随着软件开发的发展,在多层的软件开发项目中,可重用、易扩展的,而且是经过良好测试的软件组件,越来越为人们所青睐。框架的功能类似于基础设施,与具体的软体应用无关,但是提供并实现最为基础的软体架构和体系。软体开发者通常依据特定的框架实现更为复杂的商业运用和业务逻辑。这样的软体应用可以在支持同一种框架的软体系统中运行
【MySQL学习笔记】MySQL原理---企业规范约束 一、库表字段约束规范不要因为大度而浪费性能,浪费存储不要使用mysql中的关键字进行命名(table、select等)库名、表名与字段名必须是小写字母,不能用大写!并且不能以数字开头!禁止下划线中间出现数字!(因为Windows中是对大小写不敏感的,Linux是对大小写敏感的,我们需要避免不必要的麻烦)表名不能用复数形式命名,应当考虑与业务名有关。单表行数超过5000万行或单表容量超过2G的要分库分表。值为小数的字段应当使用decimal避免精度丢失,禁止使用float和dou
【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将字符串转换为大写
【MySQL学习笔记】MySQL原理---存储过程 一、delimiter存储过程是指模块化设计可以理解为SQL中的函数可以在业务进行前,提前写好业务进行事件点上再使用命令调用存储过程并执行存储过程中可能含有很多SQL语句,每条语句以分号结尾,回车时会将命令发送至服务器,因此需要对SQL语句结束符有所改动。改变SQL语句结束符为 “ // ” :DELIMITER //还原SQL语句结束符为 “ ; ” :DELIMITER ;二、procedure 存储过程的用途改变SQL语句结束符为 “ // ” :DELIMITE
【MySQL学习笔记】MySQL原理---索引 一、索引(index)索引在MySQL中也叫做“键”,是存储引擎用于快速找到记录的一种数据结构。索引优化应该是对查询性能优化最有效的手段了,索引能够轻易将查询性能提高好几个数量级。注意:对需要被经常性、频繁查询的数据创建索引表中数据很少时,不要创建索引分类:1.普通索引index :加速查找2.唯一索引 主键索引:primary key :加速查找+约束(不为空且唯一) 唯一索引:unique:加速查找+约束 (唯一)3.联合索引 -primary key(i
【MySQL学习笔记】MySQL原理---事务 一、事务的提出购买商品时点击支付,并未付款,思考此时数据库的变化是怎样的?也就是说,某些时候,需要我们确定某事物之后再更新数据库。因此引入————事务(transaction)二、transaction创建一个钱包表:开始一个事务:START TRANSACTION;让1号用户金额减50:UPDATE wallet SET balance=balance-50 WHERE id=1;让2号用户金额加50:UPDATE wallet SET balance=balanc
【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
【MySQL学习笔记】MySQL原理---子查询 一、子查询基本语法两个基本表:进行子查询,查询成绩大于等于85的学生实体的数据:子句的作用:SELECT stuid FROM score WHERE score >= 8;整条语句的作用:SELECT * FROM student WHERE id IN ( SELECT stuid FROM score WHERE