自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

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

转载 Java里数值类型转换

1 import static java.lang.System.out; 2 3 public class testOnNumber { 4 public static void main(String[] args){ 5 //int转换成short,把低位截断给short 6 int i = 0xa0001231;...

2017-07-09 23:08:00 82

转载 MySQL优化

一. 优化SQL语句的一般步骤(P254)1. 通过show status命令了解各种SQL的执行频率MySQL客户端连接成功后,通过show [session | global] status命令可以提供服务器状态信息,也可以在操作系统上使用mysqladmin extented-status命令获得这些信息。show [session | global] status可以根据...

2017-07-08 16:21:00 81

转载 MySQL分区

P226)MySQL分区的优点主要包括一下4个方面:和单个磁盘或者文件系统分区相比,可以存储更多数据优化查询。在Where子句中包含分区条件时,可以只扫描必要的一个或多个分区来提高查询效率;同时在涉及SUM()和COUNT()这类聚合函数的查询时,可以容易的在每个分区上并行处理,最终只需要汇总所有分区得到的结果。对于已经过期或者不需要保存的数据,可以通过删除与这些数据有关...

2017-07-08 15:51:00 66

转载 MySQL存储过程和函数

P176)存储过程和函数的区别在于函数必须有返回值,而存储过程没有,存储过程的参数可以使用IN、OUT、INOUT类型,而函数的参数只能指IN类型。如果有函数从其他类型的数据库迁移到MySQL,那么就可能因此需要将函数改造成存储过程。创建存储过程需要create ROUNTINE权限,修改或者删除存储过程或者函数需要alter ROUTINE权限,执行存储过程或者函数需要EX...

2017-07-08 14:31:00 80

转载 MySQL视图

使用视图的优势(P171)简单:使用视图的用户完全不需要关心后面对应的表的结构、关联条件和筛选条件,对用户来说已经是过滤好的复合条件的结果集。安全:使用视图的用户只能访问他们被允许查询的结果,对表的权限管理并不能限制到某个行某个列,但是通过视图就可以简单的实现。数据独立:一旦视图的结构确定了,可以屏蔽表结构变化对用户的影响,源表增加列对视图没有影响,源表修改列名,则可以通...

2017-07-07 21:32:00 65

转载 MySQL索引的设计和使用

一. 索引概述MyISAM和InnoDB存储引擎的表默认创建的都是BTREE索引。MySQL目前还不支持函数索引(5.7版本开始支持),但支持前缀索引,即对索引字段的前N个字符创建索引。前缀索引的长度和存储引擎相关,对于MyISAM存储引擎的表,索引的前缀长度可以达到1000字节长,而对于InnoDB存储引擎的表,索引的前缀长度最长是767字节。请注意前缀的限制应以字节为单位进行测量...

2017-07-06 22:49:00 85

转载 MySQL字符集

一. 选择合适的字符集(P156)二. MySQL支持的字符集MySQL服务器可以支持多种字符集,在同一台服务器、同一个数据库甚至同一个表的不同字段都可以指定使用不同的字符集。查看所有可用的字符集命令是show character set;或者查看information_schema.character_set,可以显示所有的字符集和该字符集默认的校对规则...

2017-07-05 23:08:00 70

转载 MySQL选择合适的数据类型

一. CHAR与VARCHARCHAR是固定长度的字符类型,而VARCHAR属于可变长度的字符类型。它们的区别是CHAR会需要处理行尾空格,但由于是固定长度所以处理速度比VARCHAR快得多。在MySQL中,不同引擎对CHAR和VARCHAR的使用原则有所不同。MyISAM:建议使用固定长度的数据列代替可变长度的数据列。MEMORY:目前都使用固定长度的数据行存储,因此...

2017-07-04 12:06:00 137

转载 MySQL表类型的选择

P131)创建表时的默认引擎是InnoDB,如果要修改默认的存储引擎,可以在参数文件中设置default-table-type。查看当前的默认存储引擎,可以使用一下命令:创建新表的时候可以通过增加ENGINE关键字设置新建表的存储引擎。也可以通过ALTER TABLE语句,将一个已经存在的表修改成其他的存储引擎。一. MyISAM(P134)MyISAM...

2017-07-03 17:37:00 129

转载 MySQL常用函数

P79)字符串函数CONCAT(S1,S2,...,Sn):连接S1,S2,...,Sn为一个字符串。LEFT(str, x):返回字符串str最左边的x个字符。RTRIM(str):去掉字符串str行尾的空格。INSERT(str, x, y, instr):将字符串str从第x位置开始(包含第十二个),y个字符串长的子串替换为字符串instr。STRCMP(s1,...

2017-07-02 16:29:00 67

转载 MySQL中的运算符

比较运算符在比较中,结果为真返回1,为假则返回0,比较结果不确定返回NULL。<=>:NULL安全的等于(NULL-Safe)IS NULL:是否为NULLREGEXP或RLIKE:正则表达式匹配比较运算符可以用于比较数字、字符串和表达式。数字作为浮点数比较,而字符串以不区分大小写的方式进行比较。BETWEEN:a BETW...

2017-07-02 15:14:00 116

转载 MySQL支持的数据类型

数值类型整数类型字节最小值最大值TINYINT1SMALLINT2MEDIUMINT3INT、INTEGER4BIGINT5浮点数类型FLOAT4DOU...

2017-07-02 12:29:00 69

转载 JVM——Java内存区域相关3

一. 垃圾收集算法1. 标记-清除算法缺点:1.效率低,标记和清除两个过程的效率都不高; 2.空间问题,标记清除后会产生大量的不连续内存碎片。2. 复制算法将内存分成三块:一块较大的Eden和两块较小的Survivor空间。每次使用Eden和其中一块Survivor,回收后将Eden和Survivor中还存活着的对象一次性的复制到另外一块Survivor空间上...

2017-07-01 22:49:00 73

转载 JVM——Java内存区域相关2

一. 对象的创建在语言层面上,创建对象的方式有克隆、反序列化、new等方法。1.1 检查类是否被加载虚拟机遇到一条new指令时,首先去检查这个指令的参数是否能够在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,那必须先执行相应的类加载过程。1.2 分配内存指针碰撞(Bump the Pointer):同步(CAS...

2017-07-01 21:24:00 82

转载 JVM常用参数

-Xmx:JavaHeap最大值,默认值为物理内存的1/4,最佳设值应该视物理内存大小及计算机内其他内存开销而定。-Xms:JavaHeap初始值,Server端JVM最好将-Xms和-Xmx设为相同值,开发测试机JVM可以保留默认值。将堆的最小值参数与最大值参数设置为一样即可避免堆自动拓展。-Xmn:年轻代的大小。它的大小将直接影响老年代的大小,Sun官方推荐为整个堆大...

2017-07-01 19:41:00 65

转载 JVM——Java内存区域相关1

1. 运行时数据区域1.1 程序计数器程序计数器(Program Counter Register)可以看作当前线程所执行的字节码的行号指示器。在虚拟机的概念模型里,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器来完成。每条线程都需要有一个独立的程序计数器,各条线程之间的计数器互不影...

2017-06-30 16:51:00 61

转载 SQL基础

P25)SQL分类DDL(Data Definition Languages)语句:数据定义语句,这些语句定义了不同的数据段、数据库、表、列、索引等数据库对象,常用的语句关键字主要包括create、drop、alter等。DML(Data Manipulation Language)语句:数据操纵语句,用于添加、删除、更新和查询数据库记录,并检查数据完整性,常用的语句关键字主要包...

2017-06-30 11:22:00 103

转载 设计模式4——state,observer,flyweight,proxy,interpreter,memento

(1)Observer——观察者(2)Proxy——代理(3)Flyweight——享元(4)State——状态(5)Memento——备忘录(6)Interpreter——解释器转载于:https://www.cnblogs.com/ITStruggler/p/7095138.html...

2017-06-29 16:21:00 98

转载 设计模式3——facade,composite,decorator,visitor,mediator

(1)Composite——组成例子:(2)Decorator——装饰者(3)Visitor——访问者例子:(4)Facade——外观模式(5)Mediator——中介者转载于:https://www.cnblogs.com/ITStruggler/p/7092013.html...

2017-06-28 22:43:00 99

转载 Java并发4

P706)必须用一个检查感兴趣的while循环包围wait()。其本质就是要检查所感兴趣的特定条件,并在条件不满足的情况下返回到wait()中。P707)notify()与notifyAll()使用notify()时,在众多等待同一个锁的任务中只有一个会被唤醒,因此如果你希望使用notify(),就必须保证被唤醒的是恰当的任务。另外,为了使用notify(),所有任务必须等...

2017-06-28 19:24:00 76

转载 Java并发3

P685)临界区通过使用同步控制块,而不是对整个方法进行同步控制,可以使多个任务访问对象的时间性能得到显著提升。宁愿使用同步控制块而不是对整个方法进行同步控制的典型原因:使得其他线程能更多的访问(在安全的情况下尽可能多)。P689)在其他对象上同步synchronized块必须给定一个在其上进行同步的对象,并且最合理的方式是,使用其方法正在被调用的当前对象:synchr...

2017-06-27 23:54:00 80

转载 Java并发2

P662)后台线程(daemon:守护)所谓后台(daemon)线程,是指在程序运行的时候在后台提供一种通用服务的线程,并且这种线程并不属于程序中不可或缺的部分。因此,当所有的非后台线程结束时,程序也就终止了,同时会杀死进程中的所有后台进程。反过来说,只要有任何非后台线程还在运行,程序就不会终止。1 Thread daemon = new Thread(new SimpleD...

2017-06-27 23:25:00 50

转载 Java并发1

P655)静态方法Thread.yield()的调用是对线程调度器(Java线程机制的一部分,可以将CPU从一个线程转移给另一个线程)的一种建议:此线程以及执行完生命周期中最重要的部分了,此刻正是切换给其他任务执行一段时间的大好时机。P661)不过这只是一个暗示,没有任何机制保证它将会被采纳。当调用yield()时,你也是在建议具有相同优先级的其他线程可以运行。实际上,对于任何重要的控制...

2017-06-27 19:58:00 53

转载 Java注解

P621)定义注解时,会需要一些元注解(meta-annotation),例如@Target和@Retention。@Target用来定义你的注解将应用于什么地方(例如是一个方法或者一个域)。@Retention用来定义该注解在哪一个级别可用,在源代码中(SOURCE)、类文件(CLASS)中或者运行时(RUNTIME)。注解的元素看起来就像接口的方法,唯一的区别是你可以为其指...

2017-06-26 21:56:00 54

转载 设计模式2——abstract factory,bridge,strategy,prototype,chain of responsibility

(1)抽象工厂——Abstract Factory(2)Prototype——原型模式(3)Strategy——策略模式(4)Bridge——桥接模式(5)Chain of Responsibility——职责链模式转载于:https://www.cnblogs.com/ITStruggler/p/7076981.h...

2017-06-25 15:50:00 89

转载 设计模式1——iterator,adapter,template,builder,factory

(1)Iterator——迭代器模式(2)Adapter——适配器(3)Factory——工厂方法(4)Builder——生成者(5)Template——模板方法转载于:https://www.cnblogs.com/ITStruggler/p/7074299.html...

2017-06-24 19:54:00 91

转载 Java容器(2)

P474)Arrays.asList()会生成一个List,它基于一个固定大小的数组,仅支持那些不会改变数组大小的操作。任何会引起底层数据结构的尺寸进行修改的方法都会产生一个UnsupportedOperationException异常,以表示对未获支持操作的调用。应该把Arrays.asList()的结果作为构造器的参数传递给任何Collection(或者使用addAll()方法,...

2017-06-24 16:45:00 54

转载 Java数组

P434)数组硕果仅存的有点就是效率。length是数组的大小,而不是实际保存的元素个数。P378)对于在泛型中创建数组,使用Array.newInstance()是推荐的方式。P437)Java SE5的Arrays.deepToString()方法可以将多维数组转换为多个String。P441)泛型容器总是比泛型数组更好的选择。只有在有已证明性能成为问题...

2017-06-22 22:13:00 46

转载 Linux终端运行java源码出错——Error: Could not find or load main class [duplicate]

Linux终端中运行.class文件出错转载于:https://www.cnblogs.com/ITStruggler/p/7062024.html

2017-06-21 22:26:00 707

转载 Java类型信息

P316)Class fancyToyClass = Class.forName("FancyToy");这个方法是Class类的一个成员static成员。forName()是取得Class对象引用的一种方法,它返回一个Class对象的引用。对forName()的调用就是为了它产生的“副作用”:如果类FancyToy还没有被加载那就加载它。在加载的过程中,FancyToy的stati...

2017-06-21 20:54:00 52

转载 Java字符串

P283)不可变StringString类中看起来会修改String值的方法,实际上都是创建了一个全新的String对象,以包含修改后的字符串内容。最初的String对象则丝毫未动。每当把String对象作为方法参数时,都会复制一份引用,而该引用所指的对象其实一直待在单一的物理位置上。不可变性会带来一些性能问题。当有多个String对象要相“+”起来的时候,那么最好自己创建一个S...

2017-06-21 17:36:00 55

转载 Java异常

P258)重抛异常会把异常抛给上一级环境中的异常处理程序,同一个try块的后续catch子句将被忽略。此外,异常对象的所有信息都得以保持。如果只是把当前异常对象重新抛出,那么printStackTrace()方法显示的将原来的异常抛出点的调用栈信息,而并非重新抛出点的信息。要更新这个信息,可以调用fillInStackTrace()方法,这将返回一个Throwable对象,它是通过把...

2017-06-21 17:20:00 55

转载 Java容器(1)

P220)你也可以直接使用Arrays.asList()的输出,将其当作List,但是在这种情况下,其底层表示的时数组,因此不能调整尺寸。P222)如果存储顺序很重要,那么可以使用TreeSet(红-黑树),它按照比较结果的升序保存对象;或者使用LinkedHashSet,它按照被添加的顺序保存对象。HastSet是最快的获取元素的方式。P223)HashMap提供了...

2017-06-20 22:25:00 39

转载 Java内部类

P191)如果想从外部类的非静态方法之外的任意位置创建某个内部类的对象,那么必须具体的指明这个对象的类型:OuterClassName.InnerClassName。P191)内部类能访问其外围对象的所有成员,而不需要任何特殊条件。此外,内部类还拥有其外围类的所有元素的访问权。P192)内部类的对象只能在于其外围类的对象相关的情况下才能被创建。构建内部类对象时,需要一...

2017-06-20 22:24:00 45

转载 Java 类的初始化——多态

P96)总结一下对象的创建过程,假设有个名为Dog的类:即使没有显式的使用static关键字,构造器实际上也是静态方法。因此,当首次创建类型为Dog的对象时(构造器可以看成静态方法),或者Dog类的静态方法/静态域首次被访问时,Java解释器必须查找类路径,以定位Dog.class文件。然后载入Dog.class,有关静态初始化的所有动作都会执行。因此,静态初始化只在Clas...

2017-06-20 22:17:00 147

空空如也

空空如也

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

TA关注的人

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