- 博客(34)
- 资源 (13)
- 收藏
- 关注
原创 JAVA并发编程基础-重排序
重排序在执行程序时为了提高性能,编译器和处理器常常会对指令做重排序。这些重排序都可能导致多线程程序出现内存可见性问题。重排序类型 编译器优化的重排序:编译器在不改变单线程程序语义的前提下,可以重新安排语句的执行顺序。 指令级并行的重排序:现代处理器采用了指令级并行技术(ILP)来将多条指令重叠执行。如果不存在数据依赖性,处理器可以改变语句对应及其执行的执行顺序。 内存系统的重排序:由于处理器使用缓存使用缓存和读/写缓冲区,这使得夹杂和存储操作看上去可能实在乱序执行。 J
2021-04-13 15:12:42
248
1
原创 JAVA并发编程基础
并发编程中的关键问题 线程之间如何通信 共享内存的并发模型中:线程之间通过读写内存中的公共状态来隐式进行通信 信息传递的并发模型中:线程之间没有公共状态,线程间通过明确的发送信息方式来显性进行通信 线程之间如何同步 共享内存的并发模型中:同步是显性进行的,程序员通过显式指定某个方法或代码在线程之间互斥执行 信息传递的并发模型中:由于信息的阿松必须在消息的接收之前,因此同步是隐式进行的 线程: 并发执行的活动实体通信:
2021-04-13 11:25:48
194
原创 MySql常用日期的加减
MySql常用日期的加减简单的日期加减法SELECT '2017-01-01'+ INTERVAL '1' YEAR SELECT '2017-01-01'+ INTERVAL '1' MONTH SELECT '2017-01-01'+ INTERVAL '1' DAY SELECT '2017-01-01'+ INTERVAL '-1' YEAR SELECT '2017-...
2018-10-24 14:11:16
375
原创 JAVA 基本数据类型
java是一种强类型的编程语言,也就是说我们需要为每一个变量都声明一种类型。java为我们的提供了8种基本数据类型(primitive type);包含四种整形(byte,short,int,long)、两种浮点型(float,double)、一种用于表示Unicode 编码的字符单元的字符类型 char 和 一 种用于表示真值的 boolean 类型。整形: 整形用以表达没...
2018-09-06 18:01:44
382
原创 Stream 的常用操作
Intermediate :一个流可以后面跟随零个或多个 intermediate 操作。其目的主要是打开流,做出某种程度的数据映射/过滤,然后返回一个新的流,交给下一个操作使用。这类操作都是惰性化的(lazy),就是说,仅仅调用到这类方法,并没有真正开始流的遍历。 map (mapToInt, flatMap 等)、 filter、 distinct、 sorted、 peek、 l...
2018-09-05 15:30:48
788
原创 Stream转为其他数据结构
Stream<String> stream = Stream.of("a","b", "c");//转为数组String[] strArray1 = stream.toArray(String[]::new);// 转为 Collection 的实现类List<String> list1 = stream.collect(Collectors.toList(...
2018-09-05 15:29:14
1102
原创 Stream 的常用构建方式
1 、通过其本身的静态方法构建//01 通过Stream 自身的静态方法 of 构建Stream<Integer> integerStream = Stream.of(1, 2, 3, 4, 5); 2 、通过数组进行构建//02 通过数组进行构建//本质通过Stream 自身的静态方法 of 构建String [] strArray = new S...
2018-09-05 15:28:10
528
原创 lambda的递归
package testLambda;import java.util.function.IntUnaryOperator;/** * lambda的递归 * @author P H * @date 2018/8/31 15:48 */public class LambdaRecursion { //IntUnaryOperator 表示对单个int值的操作数的操作...
2018-09-05 15:24:40
1160
原创 常用lamdba函数式接口
/** * Interface ToIntFunction<T> * 计算 int 值的函数可以用来拆包 * ToIntFunction<T> * ToLongFunction<T> * ToDoubleFunction<T> 这三个方法作用类似,不再赘述 */ToIntFunction<Integer> toIntFun...
2018-09-05 15:23:08
353
原创 Java内置的四大核心函数式接口
java提供的函数式接口放置在java.util.function 下 函数式接口 参数类型 返回类型 用途 Consumer<T> 消费型接口 T void 对类型为T的对象应用操作,包含方法 : ...
2018-09-05 15:21:46
793
原创 lambda表达式基本原理
一般来说,任何lambda表达式都可以看做声明在函数式接口中的单个抽象方法的实现1. lambda的使用需要 “函数式接口” 的支持函数式接口:接口中只有一个抽象方法的接口,称为函数式接口,函数式接口(Functional Interface):就是一个有且仅有一个抽象方法,但是可以有多个非抽象方法的接口。函数式接口可以被隐式转换为lambda表达式。函数式接口可以现有的函...
2018-09-05 15:20:47
1409
1
原创 lambda表达式基本语法
1 、无参数,无返回值() -> System.out.println("hello World")Runnable hello_world = () -> System.out.println("hello World");hello_world.run(); //控制台输出hello World2 、有参数,无返回值(x) -> System.out.pr...
2018-09-05 15:18:49
954
原创 jQuery中的层次选择器
用于通过DOM元素之间的层次关系来获取特定元素,如后代元素、子元素、相邻元素和兄弟元素等$("ancestor,descendant")获取ancestor元素中所有descendant(后代)元素,返回一个集合元素。$("div span") //选取里所有元素$("parent,child")获取parent元素下child(子)元素,返回一个集合元素$(
2017-12-12 15:58:23
432
原创 jQuery对象转DOM对象的两种处理方法
1.[index]jQuery对象是一个数组对象,可以通过其[index]来得到相应的DOM对象var $demo=$("#demo"); //jQuery对象var demo=$demo[0]; //DOM对象2.get(index)由jQuery本身提供的方法,通过get(index)方法得到相应DOM对象var $demo=$("#demo");
2017-12-12 15:08:14
590
原创 Oracle 批量插入数据
多表的insert语句语法INSERT [ALL] [conditional_insert_clause][insert_into_clause values_clause] (subquery)conditional_insert_clause [ALL] [FIRST][WHEN condition THEN] [insert_into_clause values_clause
2017-11-17 17:00:09
15850
原创 Oracle 分级查询
树形结构的数据:MGR=EMPNO 树结构的数据存放在表中,数据之间的层次联系即父子联系,通过表中的列与列间的联系来描述,如EMP表中的EMPNO和MGR。EMPNO示意该雇员的编号,MGR示意领导该雇员的人的编号,即子节点的MGR值等于父节点的EMPNO值。在表中的每一行中都有一个示意父节点的MGR(除根节点外),通过每个节点的父节点,就能够确定整个树结构。在Oracle数
2017-11-17 15:27:52
1270
原创 Oracle集合运算
集合运算:组合两个或多个部分查询的结果到一个结果中。包含集合运算的查询称为复合查询。 并集:UNION(联合)SQL> select * from emp where deptno=10 2 union 3 select * from emp where deptno=20; EMPNO ENAME JOB
2017-11-15 13:42:40
370
原创 Oracle常用单行函数
单行函数:每处理一条记录返回一条结果.字符函数LOWER : 转小写SQL> select lower(ename) from emp;LOWER(ENAME)--------------------smithallenwardUPPER : 转大写SQL> select upper(ename) from emp;UPPER(ENAM
2017-11-15 11:33:53
1252
原创 Oracle修改表结构
ALERT TABLE 语句的作用追加新的列修改现有的列为新追加的列定义默认值删除一个列语法ALTER TABLE tableADD (column datatype [DEFAULT expr][, column datatype]...);ALTER TABLE tableMODIFY (column datatype [DEFAULT expr][, column
2017-11-14 15:00:11
483
原创 Oracle创建和管理表
表:基本的数据集合,有行和列组成。命名规则表名和列名:必须以字母开头必须在1-30个字符之间必须只能包含A-Z,a-z,0-9,_,$和#必须不能和用户定义的其他对象重名必须不能使Oracle的保留字CREATE TABLE 语句必须具备条件:CREATE TABLE 权限储存空间CREATE TABLE [schema.]table(column datat
2017-11-14 11:54:04
333
原创 日期格式RR和YY的区别
RR日期型格式的算法为:1.如果当前年份的最后两位数(即不包括世纪)为0—49,并且指定的年份的最后两位数也为0—49,则返回的日期在本世纪。2.如果当前年份的最后两位数(即不包括世纪)为0—49,并且指定的年份的最后两位数为50—99,则返回的日期在上一世纪。3.如果当前年份的最后两位数(即不包括世纪)为50—99,并且指定的年份的最后两位数为0—49,则返回的日期在下一世纪。4
2017-11-13 17:32:00
3148
原创 JAVA设计模式-工厂模式
核心本质1. 实例化对象:用工厂方法代替new操作2. 将选择实现类、创建对象统一管理和控制。从而将调用者和我们的实现类解耦。分类:简单工厂模式:用来生产同一等级结构中的任意产品(对于新增加的产品,需要修改已有代码)工厂方法模式:用来生产同一等级结构中的固定产品(支持增加任意产品)抽象工厂模式:用于生产不同产品族的所有产品(支持增加产品族,对于新增加的产品无能为力)
2017-10-10 20:58:44
292
原创 JAVA设计模式-单例模式(Singleton)的五种实现方式
单例(Singleton)模式 也叫单态模式我在另一篇文章中已经介绍过了过关于单例模式的简单描述和优缺点,感兴趣的朋友可以点击下面的连接,在这里我就不在赘述。单例模式(Singleton)应用场景和优缺点本篇文章主要介绍单例模式常见的5种实现方式,分别是:懒汉式、饿汉式、双重检测锁式、静态内部类式和枚举单例。下面我将为大家逐个介绍他们的特点和实现方式。饿汉式(线
2017-10-10 14:42:02
478
原创 改善数据库性能的几点建议
1.提高SQL语句的可读性:虽然这并不能直接影响数据库的性能,数据库并不在意你的SQL语句的外观是否整洁,但当我们用调整的眼光去观察一个SQL语句时,SQL语句的可读性就是我们将要考虑的第一个问题,试问如果我们连语句都很难看清那么我们又该如果判断该语句是否正确甚至是对该语句进行修改和优化呢?所以,为了能让我们的SQL语句能拥有更好的可读性。我有以下几点建议提供给大家。让每个子句都从新的
2017-10-03 15:09:14
933
原创 DQL-数据查询
-- DQL(*****)(Data Query Language):数据查询语言,用来查询记录(数据)-- 查询语句书写顺序:select – from- where- group by- having- order by-limit-- 查询语句执行顺序:from - where -group by - having - select - order by-limit -- 查询所
2017-10-03 14:48:40
356
原创 DDL-操作数据库
-- DDL(*)(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列等;-- 操作数据库-- 删除数据库drop database mydatabase;-- 创建数据库create database mydatabase;CREATE DATABASE mydatabase1 CHARACTER SET gbk;CREATE D
2017-10-03 14:43:45
437
原创 DDL-操作数据表
-- DDL(*)(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列等;-- 操作数据表-- 切换数据库use mydatabase;-- 删除数据表drop table t1;create table t1(id int)charset utf8;desc t1;-- 追加主键-- 直接追加alter table t1
2017-10-03 14:42:29
415
原创 MySQL日期的加减
-- MySQL日期的加减-- 简单的日期加减法SELECT '2017-01-01'+ INTERVAL '1' YEAR SELECT '2017-01-01'+ INTERVAL '1' MONTH SELECT '2017-01-01'+ INTERVAL '1' DAY SELECT '2017-01-01'+ INTERVAL '-1' YEAR SELECT '
2017-10-03 11:15:09
571
原创 SQL常用字符函数
-- 字符函数主要用于对字段里的字符串或值进行比较、连接、搜索、提取片段等-- 串接(join+smith=joinsmith)-- concat(colunm_name,[ '', ] column_name[column_name])SELECT CONCAT('join','smith')-- 用逗号隔开(1,二狗蛋)SELECT CONCAT(NO,',',NAME)FROM
2017-10-02 20:51:19
466
原创 DML-数据操作(增删改)
-- DML(**)(Data Manipulation Language):数据操作语言,用来定义数据库记录(数据)-- DML是对表中的数据进行增、删、改的操作。-- 插入操作:INSERT(insert into 表名 values(值列表)[,(值列表)] ; )insert into t1 values(01,'二狗');-- 选择插入insert into t1 (uid
2017-10-02 16:10:08
581
原创 SQL完整性约束
完整性约束用于确定关系型数据库中数据的准确性和唯一性,在关系型数据库中,数据的完整性是通过引用完整性的概念实现的,而引用完整性具有如下的类型。一.主键约束主键约束是数据表一个或多个用以实现记录唯一性的字段,虽然使用中通常由一个字段标识,但是也可以使用多个字段组成(联合主键)。 主键的作用在于表中的每条记录都具有一个唯一的值,如一个人的身份证号,具有唯一性。用于作为某人的识别标志。创建主键的三种
2017-10-02 15:55:11
3117
原创 DDL-数据表的创建
-- DDL(*)(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列等;-- 操作数据表,数据表的创建-- 切换数据库use mydatabase;-- 删除数据表drop table test;-- CREATE TABLE 表名 ( 属性名 数据类型 [完整性约束条件],-- 属性名 数据类型 [完整性约束条件],--
2017-10-02 14:52:19
692
原创 ArrayList、LinkedList和Vector的异同点
一、相同点首先我们要知道,不管是ArrayList,LinkedList还是Vestor他们都是java.util.List接口的实现类。换而言之他们三个就是具有List特征的集合,List集合的特点就是他们三个的相同点。我们通过查询API可以的到List接口的描述:有序的 collection(也称为序列)。此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的
2017-09-20 19:23:37
540
原创 单例模式(Singleton)应用场景和优缺点
单例(Singleton)模式 也叫单态模式概述:单例(Singleton)模式要求一个类有且仅有一个实例,并且提供了一个全局的访问点。这就提出了一个问题:如何绕过常规的构造器,提供一种机制来保证一个类只有一个实例?客户程序在调用某一个类时,它是不会考虑这个类是否只能有一个实例等问题的,所以,这应该是类设计者的责任,而不是类使用者的责任。 从另一个角度来说,Singleton模式其实也是一种职
2017-09-08 19:22:55
18983
计算机程序设计艺术(1-3卷)(PDF版)
2017-10-05
《算法导论(原书第3版)》(PDF版)
2017-10-05
精通Oracle10编程(PDF版)
2017-10-03
SQL SERVER2005数据库基础及应用技术教程与实训
2017-10-02
SQL入门经典(第五版)PDF版
2017-10-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人