自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(234)
  • 资源 (2)
  • 收藏
  • 关注

原创 常见sql技巧 优化

1 正则  regexp 比like更消耗资源           select name, email from t where email REGEXP "@163[.,]com$"           select name, email from t where email like "%@163.com" ro email like "%@163,com" 2 RAND(

2017-08-17 21:21:54 301

原创 mysql 基础操作

1    mysql 表复制  复制结构 + 数据          把表t1 内容复制到 t2            方式1 : insert into t2 select * from t1                         缺点:只复制了数据, 并且错误          方式2:create table t2 like t1;  (复制结构) 

2017-08-16 21:07:57 215

原创 二分查找的三种方式

1 l         while (l <= r) { int m = (l + r) / 2; if (num[m] == target) return m; else if (num[m] > target) r = m - 1; else l = m + 1;}      如果数组中有和target 相等的返回相等位置的下表 , 如果没有相等的l是

2017-08-13 10:25:42 805 1

原创 mysql 优化语句

EXPLAIN  语句结果分析                      id     SELECT识别符。这是SELECT的查询序列号。          select_type   SELECT类型,可以为以下任何一种:                            SIMPLE     简单SELECT(不使用UNION或子查询)               

2017-08-12 22:46:23 189

原创 mysql 锁和范式

1  乐观锁和悲观锁 :         悲观锁(Pessimistic Lock),顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁         乐观锁(Optimistic Lock),顾名思义

2017-08-12 19:43:31 161

原创 mysql总结 事物

1 事物的特性 ACID            原子性:一组更新操作不可再分,要么全做,要么不做            一致性:事务的操作状态是正确的        隔离性: 并发执行的多个事务间互相不影响        持久性:已提交的事物的影响是持久的,被撤销事务的影响可恢复 2 事务的三种不一致性        脏读:读到另一个事务未提交的数据        不可

2017-08-12 17:32:40 165

原创 mysql 子查询

为什么需要子查询?               现实中,很多情况需要进行下述条件的判断              集合成员资格                        某一元素是否是某一个集合的成员              集合之间的比较                       某一个集合是否包含另一个集合等              集合基数的测试    

2017-08-12 14:49:30 321

转载 mysql 结构优化

MySQL的优化主要分为结构优化(Scheme optimization)和查询优化(Query optimization)。     最左前缀原理与相关优化               情况一:全列匹配。         很明显,当按照索引中所有列进行精确匹配(这里精确匹配指“=”或“IN”匹配)时,索引可以被用到。               情况二:最左前缀匹配。    

2017-08-11 23:11:58 261

原创 文件组织和索引

1   数据库存储和查询实现的基本思想       2  数据库表和记录与磁盘块的映射      3  数据库文件组织方法        数据组织要考虑更新(增、删、改)和检索需求                更新将涉及数据存储空间的扩展与回收问题                检索将涉及扫描整个数据库的问题、大批量处理数据问题                不同的需求要

2017-08-11 20:59:14 863

原创 kmp字符串匹配

next数组求解 public int[] makeNext(char[] arr) { int[] next = new int[arr.length]; next[0] = -1; int k = -1, j = 0; while (j < arr.length - 1){ // k 前缀

2017-08-11 13:00:41 149

原创 数据库查询总结

1 基础查询       select 列名 from 表名      2 条件查询        运算符       select  列名 from 表名  where 条件       =、!=、、>=;       BETWEEN…AND;    IN(set);      IS NULL;  AND;   OR; NOT;      3 模糊查询      

2017-08-10 23:02:27 1034

转载 ReentrantLock

在ReentrantLock中很明显可以看到其中同步包括两种,分别是公平的FairSync和非公平的NonfairSync。公平锁的作用就是严格按照线程启动的顺序来执行的,不允许其他线程插队执行的;而非公平锁是允许插队的。         默认情况下ReentrantLock是通过非公平锁来进行同步的,包括synchronized关键字都是如此,因为这样性能会更好。当执行加锁操作时,公平性将由

2017-08-10 20:53:55 208

转载 Java虚拟机字节码执行引擎

1  运行时栈帧结构         栈帧(Stack Frame) 是用于虚拟机执行时方法调用和方法执行时的数据结构,它是虚拟栈数据区的组成元素。每一个方法从调用到方法返回都对应着一个栈帧入栈出栈的过程。       每一个栈帧在编译程序代码的时候所需要多大的局部变量表,多深的操作数栈都已经决定了,并且写入到方发表的 Code 属性之中,一次一个栈帧需要多少内存,不会受到程序运行期变量数

2017-08-09 21:24:03 236

原创 java 序列化

序列化机制允许将实现序列化的Java对象转换为字节序列,字节序列可以保存在磁盘,或通过网络传输,以备以后重新恢复原来的对象,序列化机制使得对象可以脱离程序的运行而独立存在。        对象的序列化指讲一个Java对象写入IO流中,对象的反序列化指从IO流恢复Java对象,为了让某类是可序列化的,该类必须实现如下两个接口之一  Serializable ,Externalizable.

2017-08-09 20:14:11 158

转载 类加载机制

1 类的加载机制      虚拟机把描述类的数据从class文件加载到内存,对数据进行校验,转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制  2 类的生命周期  其中类加载的过程包括了加载、验证、准备、解析、初始化五个阶段。在这五个阶段中,加载、验证、准备和初始化这四个阶段发生的顺序是确定的,而解析阶段则不一定,它在某些情况下可以在初始化

2017-08-08 22:40:37 205

转载 jvm学习笔记

1 HotSpot算法实现                 1 枚举根节点              作为GC Root 的节点主要在全局性的引用(常量或静态属性)与执行上下文(栈帧的本地变量表),现在仅仅方法区就数百兆,如果逐个检测引用,会消耗很多时间,虚拟机应该有办法知道哪些地方存在对象的引用,在HotSpot中使用OopMap数据结构达到目的,在类加载完后,HotSpot就把对象

2017-08-08 15:37:06 235

原创 java 内存区域,垃圾回收

1,jvm内存区域                jvm内存区主要包括线程私有的程序计数器,虚拟机栈,本地方法栈,和线程共有的堆,方法区,                程序计数器:指示当前线程所执行的字节码执行到了第几行,字节码解释器工作时,会改变计数器的值取下条指令。                虚拟机栈:一个线程的每个方法在执行时,都会创建一个栈帧,栈帧存储方法执行所需参数和产

2017-08-07 21:11:40 216

原创 mybits 注解

MyBatis注解位于org.apache.ibatis.annotations包下,常用注解如下             1 select  映射查询sql语句 2 insert 映射插入语句  3  update 映射更新语句  4 delete 映射删除语句  5 result  在列和属性之间的单独结果映射,属性包括id  column one many,等  id是一个布尔值,表示是

2017-08-06 23:32:42 714

转载 mysql 总结

1  概念        mysql是关系型数据库,是由一个一个的表组成,表包括表头,行,列,键,值           表头:每一列的名称       列 : 有相同数据类型的数据的集合,  行:用来描述每个个体的具体信息 ,值:行的具体信息,每个值与该列的数据类型相同,键:标识每个特性的个体,具有唯一性。           2 命令            net

2017-08-06 16:41:18 179

转载 tomcat 总结2

1 配置虚拟主机          配置虚似主机就是配置一个网站。          在Tomcat服务器配置一个虚拟主机(网站),需要修改conf文件夹下的server.xml这个配置文件,使用Host元素进行配置,打开server.xml,可以看到Tomcat服务器自带的一个名称为localhost的虚拟主机(网站),                 平时我们将开发好的Java

2017-08-06 12:01:20 149

转载 tomcat 总结1

1  部署应用到服务器          1  把应用直接复制到tomcat的webapps目录下。           2   用jar -cvf MyApp.war 命令打包,放到webapps目录下

2017-08-05 22:35:00 186

原创 编码

1  简单概念         编码:信息从一种形式或格式转换为另一种形式或格式的过程。就是将我们看到的文字,图片等信息按照某种规则存储在计算机中。         解码:编码的逆过程,将存储在计算机上的二进制转换为我们看到的文子,图片。          字符:一个字符是一个单位的字形、类字形单位或符号的基本信息。字符是指计算机中使用的字母、数字、字和符号。          字

2017-08-04 21:23:06 213

原创 1 Java基础

集合类主要负责保存,承装其他数据,因此集合类也被称为容器类。         Java集合大致上分为Set,List,Map三个体系,Set代表无序,不可重复集合,List代表有序,重复集合。Map代表有映射关系集合。从jdk1.5以后,Java增加了Queue体系集合,代表一种队列。          Java集合类主要由两个接口派生而出,Collection和Map,是集合框架的根

2017-08-03 15:48:31 151

原创 Java基础

1 类的加载,连接和初始化         当我们调用Java命令来运行某个Java程序的时候,该命令会启动你一条Java虚拟机进程,不管该Java程序启动了多少个线程,他们都处于Java虚拟机进程里,他们都使用该Java进程的内存。          当程序运行到最后正常结束,使用System.exit();或Runtime.getRuntime().exit();代码结束,或遇到未捕获

2017-08-02 21:47:36 135

原创 java 基础

1 注解        从jdk5.0开始,Java增加了对元数据的支持,也就是Annotation,元数据就是数据的数据,Annotation就是代码里的特殊标记,这些标记可以在编译,

2017-08-01 21:48:02 152

原创 java 基础

1 异常

2017-08-01 16:10:34 147

原创 java 基础

1 equals()方法        java中的== :当比较对象的时候,比较的是对象的内存地址是否相同。public boolean equals(Object obj) { return (this == obj); }        以上是超类Object中的方法,比较内存地址是否相同,如果子类没有重写这个方法则调用超类中的方法。也可以对超类中的方

2017-07-31 16:29:03 137

原创 java基础

1 关键字static         static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块       1  static变量  静态变量,对于静态变量在内存中只有一个拷贝(节省内存),JVM只为静态分配一次内存,在加载类的过程中完成静态变量的内存分配,可用类名直接访问(方便),当然也可以通过对象来访问(但是这是不推荐的)。

2017-07-30 22:52:52 169

原创 java 基础

1 java 三大特性     1 封装          定义: 把对象的属性和操作结合为一个独立的整体,并尽量隐藏对象内部实现的细节。        好处: ① 对象的数据封装特性彻底消除了传统结构方法中数据与操作分离所带来的种种问题,提高了程序的可复用性和可维护性,降低了程序员保持数据与操作内容的负担。                     ②对象的数据封装特性还可以把

2017-07-29 21:37:20 250 1

原创 java 多线程

1 信号量 Semaphore            1 信号量  可以控制某个资源被同时访问的个数,通过 acquire() 获取一个许可,如果没有就等待,而release() 释放一个许可。比如在Windows下可以设置共享文件的最大客户端访问个数            Semaphore实现的功能就类似厕所有5个坑,假如有10个人要上厕所,那么同时只能有多少个人去上厕所呢?同

2017-07-28 14:54:25 125

原创 多线程3

1 线程池    线程池的基本思想是对象池的思想,即开辟出一块内存区域来存放未死亡的线程,池中线程调度由池管理器来处理,当有线程任务是从池中取出一个,执行完后,线程对象归池。避免反复创建线程对象带来的性能开销   原因: 假设一个服务器完成一项任务所需时间为:T1 创建线程时间,T2 在线程中执行任务的时间,T3 销毁线程时间      如果:T1 + T3 远大于 T2,则可以采用线

2017-07-28 11:13:49 168

原创 java线程2

1 同步     原因  防止多个线程访问同一个数据时,对数据进行破坏    package myproject;public class MyTest { public static void main(String[] args) { // TODO Auto-generated method stub MyRunnable mi = new MyRunnable

2017-07-27 15:01:32 179

原创 java线程 1

1.线程的创建   1 实现Runnable 接口    public class MyTest { public static void main(String[] args) { // TODO Auto-generated method stub ImpRun r1 = new ImpRun("Roy"); ImpRun r2 = new ImpRun("Tom");

2017-07-26 14:30:56 156

原创 LinkedList

1. 234. Palindrome Linked List 找到中点,反转后面比较 public boolean isPalindrome(ListNode head) { if (head == null) { return true; } ListNode fast = head;

2017-03-29 11:20:41 186

原创 237. Delete Node in a Linked List

1.题目Write a function to delete a node (except the tail) in a singly linked list, given only access to that node.Supposed the linked list is 1 -> 2 -> 3 -> 4 and you are given the third node with

2017-03-29 10:33:47 175

原创 leetCode 455 Assign Cookies

1.题目Assume you are an awesome parent and want to give your children some cookies. But, you should give each child at most one cookie. Each child i has a greed factor gi, which is the minimum size

2017-03-29 10:19:23 192

原创 452. Minimum Number of Arrows to Burst Balloons

1.题目原题链接2.算法先按坐标的第一个排序,然后按坐标的第二个排序,在用贪心算法, public int findMinArrowShots(int[][] points) { if(points==null || points.length==0) return 0; //优先按照起点位置排序,然后按照结束位置排序 Arrays.sort(points,

2017-03-28 16:49:17 174

原创 Majority Number III

1.题目给定一个整型数组,找到主元素,它在数组中的出现次数严格大于数组元素个数的1/k。给出数组 [3,1,2,3,2,3,3,4,4,4] ,和 k = 3,返回 32.算法 public int majorityNumber(ArrayList nums, int k) { // write your code HashMap ma

2017-03-28 11:10:45 255

原创 hash function

1.题目hashcode("abcd") = (ascii(a) * 333 + ascii(b) * 332 + ascii(c) *33 + ascii(d)) % HASH_SIZE                               = (97* 333 + 98 * 332 + 99 * 33 +100) % HASH_SIZE     

2017-03-27 10:53:16 211

原创 Rehashing

1.题目哈希表容量的大小在一开始是不确定的。如果哈希表存储的元素太多(如超过容量的十分之一),我们应该将哈希表容量扩大一倍,并将所有的哈希值重新安排。假设你有如下一哈希表:size=3, capacity=4[null, 21, 14, null] ↓ ↓ 9 null ↓ null哈希函数为:int has

2017-03-27 10:41:35 217

W3CSchool全套离线手册

W3CSchool全套离线手册

2016-12-01

Linux常用命令全集

Linux 命令全集

2016-12-01

空空如也

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

TA关注的人

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