java
文章平均质量分 70
waj89757
这个作者很懒,什么都没留下…
展开
-
JSON原理&TOKEN是什么&PULL、PUSH模式
一、背景市面上有众多JSON工具原创 2021-07-23 17:35:51 · 814 阅读 · 1 评论 -
MySQL总结(五)——Explain的坑以及如何分析SQL
本节主要回答以下4个小问题。一、问题1.explain真的准确吗?limit 100为什么会扫全表?2.怎么确定走没走索引?怎么确定哪里耗时高?3.走索引就一定耗时低吗?4.order by desc 比正序慢吗?二、SQL举例举一个最近碰到的栗子,线上耗时偶尔飘高,于是乎分析了下select source_id from table where a = 1...原创 2020-03-11 15:49:43 · 4799 阅读 · 1 评论 -
MySQL总结(四)——UNDO LOG REDO LOG 详解
本节我们介绍下实现mysql可靠性的两个重要log undo redo log。还是先抛几个问题大家思考思考一、问题1.事务回滚怎么实现?2.RC RR级别可见性是怎么实现的?3.undo redo log 在哪里保存?空间多大?4.redo log在容灾时起到什么作用?二、undo log2.1 先举栗select * from t1 where id = ...原创 2020-01-15 18:26:13 · 1255 阅读 · 0 评论 -
JVM了解
《深入理解Java虚拟机》学习小记一之自动内存管理机制(一)Java内存区域与内存溢出异常一、概要二、运行时数据区域2.1程序计数器2.2虚拟机栈2.3本地方法栈2.4堆2.5方法区2.6运行时常量池三、对象访问四、OutOfMemoryError异常4.1Java堆溢出4.2虚拟机栈溢出4.3 方法区溢出4.4 运行时常量池溢出五、小结Java内存区域与内存溢出异常转载 2013-05-08 12:49:25 · 767 阅读 · 0 评论 -
java中字符串对象的意义 string a = "xs" string a = new String(a) char[] a = {'x','s'}
字符串对象在任何一门编程语言中都是至关重要的,因为程序从输入端接收到的必然是字符,数字严格意义上也是字符,其原理大家都明白的,因为键盘上的每一个字符都有其对应的ACII码。 编程语言除了拥有共有的特性外,如判断,循环等这些基本的语法点外,必然有其独特的一面。字符串的某些处理便是最好的证明。 一,字符串常量与字符串池 先看代码片段一: char[]转载 2013-05-09 13:23:29 · 1515 阅读 · 0 评论 -
Java抓取网页数据(原网页+Javascript返回数据)
转载请注明出处!原文链接:http://blog.csdn.net/zgyulongfei/article/details/7909006有时候由于种种原因,我们需要采集某个网站的数据,但由于不同网站对数据的显示方式略有不同!本文就用Java给大家演示如何抓取网站的数据:(1)抓取原网页数据;(2)抓取网页Javascript返回的数据。一、抓取原网页。转载 2013-05-24 11:26:23 · 1028 阅读 · 0 评论 -
匿名内部类
java匿名内部类转自: http://blog.sina.com.cn/s/blog_62ea4cf40100mubj.html 匿名类是不能有名称的类,所以没办法引用它们。必须在创建时,作为new语句的一部分来声明它们。这就要采用另一种形式的new语句,如下所示: new 这种形式的new语句声明一个新的匿名类,它对一个给定的类进行扩展,或者实现一个给定转载 2013-05-26 19:50:46 · 770 阅读 · 0 评论 -
final 修饰 类 方法 变量 形参
一、final 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。final类不能被继承,没有子类,final类中的方法默认是final的。 final方法不能被子类的方法覆盖,但可以被继承。 final成员变量表示常量,只能被赋值一次,赋值后值不再改变转载 2013-05-28 22:57:21 · 1920 阅读 · 0 评论 -
static 变量 方法 代码块
二、static static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念。 被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖类特定的实例,被类的所有实例共享。只要这个类被加载,Java虚拟机就能根据类名在运行时数据区的方法区内定找到他们。因此,static对象转载 2013-05-28 23:00:44 · 879 阅读 · 0 评论 -
Java面试复习提纲
Java面试复习提纲作者:egg邮箱:[email protected]微博:http://weibo.com/xtfggef博客:http://blog.csdn.net/zhangerqing本章主要介绍一下面对即将来临的Java面试,我们应该从哪些方面去复习,将重点知识罗列出来,以便从容复习,在每个内容后面附该内容在本博客的地址!转载 2013-04-18 15:49:00 · 1169 阅读 · 0 评论 -
LinkedList
LinkedList 底层就是双向链表存储的插入:boolean add(index, element)删除:remove(int index)LinkedList的使用例子:[java] view plaincopyimport java.util.*; public class LinkedListDemo {转载 2013-04-15 16:54:09 · 649 阅读 · 0 评论 -
Java新手进阶:细说引用类型
为了形象起见,也为了打字方便,本文后面的内容,都把“引用类型的变量”称为指针。所以,如果你原先有C/C++背景,今天讲的内容对你来说应该很好理解;否则的话,可能要多琢磨琢磨了。◆创建Java进阶问题假设我们在函数中写了如下这个简单的语句: StringBuffer str = new StringBuffer("Hello world"); 别看这个转载 2013-04-15 09:23:01 · 666 阅读 · 0 评论 -
Java 之 String 类型
1. String是一个对象因为对象的默认值是null,所以String的默认值也是null;但它又是一种特殊的对象,有其它对象没有的一些特性。首先String不属于8种基本数据类型(byte, char, short, int, float, long, double, boolean)2. new String()和new String(“”)都是申明一个新的空字符串,转载 2013-04-15 09:19:40 · 588 阅读 · 0 评论 -
java中的编译期和运行期有什么区别?
编译期和运行期进行的操作是不相同的,编译器只是进行语法的分析,分析出来的错误也只是语法上的错误,而运行期在真正在分配内存。编译时是调用检查你的源程序是否有语法错误,如果没有就将其翻译成字节码文件。即.class文件。运行时是java虚拟机解释执行字节码文件。原创 2013-04-15 09:15:26 · 4646 阅读 · 0 评论 -
Integer int 数据类型,封装类
Integer与int的区别 int是java提供的8种原始数据类型之一。Java为每个原始类型提供了封装类,Integer是java为int提供的封装类。int的默认值为0,而Integer的默认值为null,即Integer可以区分出未赋值和值为0的区别,int则无法表达出未赋值的情况,例如,要想表达出没有参加考试和考试成绩为0的区别,则只能使用Integer。在JSP开发中,Inte转载 2013-04-09 13:31:29 · 2887 阅读 · 0 评论 -
java:ArrayList循环遍历的俩种方法使用 ArrayList取出第i个值
package collection;import java.util.*;public class NewArrayList { public static void main(String[] args) { List students = new ArrayList(); for (int i = 0; i students.add(new Student(转载 2013-04-09 11:24:45 · 18702 阅读 · 0 评论 -
java中list、set和map 的区别
List按对象进入的顺序保存对象,不做排序或编辑操作。Set对每个对象只接受一次,并使用自己内部的排序方法(通常,你只关心某个元素是否属于Set,而不关心它的顺序--否则应该使用List)。Map同样对每个元素保存一份,但这是基于"键"的,Map也有内置的排序,因而不关心元素添加的顺序。如果添加元素的顺序对你很重要,应该使用 LinkedHashSet或者LinkedHashMap. Lis转载 2013-03-04 22:07:32 · 455 阅读 · 0 评论 -
正则表达式,特殊字符
正则表达式和字符串处理(原创)第一章 正则表达式概述正则表达式(Regular Expression)起源于人类神经系统的研究。正则表达式的定义有以下几种:l 用某种模式去匹配一类字符串的公式,它主要是用来描述字符串匹配的工具。l 描述了一种字符串匹配的模式。可以用来检查字符串是否含有某种子串、将匹配的子串做替换或者从转载 2013-04-08 12:01:04 · 2005 阅读 · 0 评论 -
JAVA的Date类与Calendar类【转】
Date类在JDK1.0中,Date类是唯一的一个代表时间的类,但是由于Date类不便于实现国际化,所以从JDK1.1版本开始,推荐使用Calendar类进行时间和日期处理。这里简单介绍一下Date类的使用。1、使用Date类代表当前系统时间 Date d = new Date(); System.out.pr转载 2013-06-10 21:35:49 · 767 阅读 · 0 评论 -
分布式数据迁移工具
Data Migration ProjectThis project is a distributed migration service for mysql.It includes full data migration, incremental data migration and real-time data check.原创 2017-01-02 22:50:54 · 1562 阅读 · 0 评论 -
thrift 泛化客户端
thrift 泛化客户端一、痛点在使用thrift时,必须要根据IDL文件编译生成支持thrift协议的客户端代码。一旦有新服务添加,客户端程序必须重新编译并更新线上服务,无法动态调用新服务。二、解决方案2.1主要解决两个问题: 1.数据结构的描述信息 2.一个可以通用的thrift客户端2.2数据结构的描述信息 众所周知thrift是跨平台的,无法像dubbo那样提供一个泛化客户端和原创 2016-04-28 10:43:49 · 3735 阅读 · 1 评论 -
对象 和 引用
如下表达式:A a1 = new A();它代表A是类,a1是引用,a1不是对象,new A()才是对象,a1引用指向new A()这个对象。在JAVA里,“=”不能被看成是一个赋值语句,它不是在把一个对象赋给另外一个对象,它的执行过程实质上是将右边对象的地址传给了左边的引用,使得左边的引用指向了右边的对象。JAVA表面上看起来没有指针,但它的引用其实质就是一个指针转载 2012-04-17 17:44:30 · 441 阅读 · 0 评论 -
Multiple annotations found at this line: - String cannot be resolved to a type
报错内容:Multiple annotations found at this line:- String cannot be resolved to a type- The method getContextPath() from the type HttpServletRequest refers to the missing type String解决办法:转载 2013-03-19 15:11:14 · 26341 阅读 · 4 评论 -
java匿名内部类
可以实现多继承匿名类是不能有名称的类,所以没办法引用它们。必须在创建时,作为new语句的一部分来声明它们。这就要采用另一种形式的new语句,如下所示: new 这种形式的new语句声明一个新的匿名类,它对一个给定的类进行扩展,或者实现一个给定的接口。它还创建那个类的一个新实例,并把它作为语句的结果而返回。要扩展的类和要实现的接口是new语句的操作数,后跟匿名类的主体。如果匿名类对另一个类进转载 2013-02-26 13:49:16 · 445 阅读 · 0 评论 -
java多线程总结
java多线程总结以前没有写笔记的习惯,现在慢慢的发现及时总结是多么的重要了,呵呵。虽然才大二,但是也快要毕业了,要加油了。这一篇文章主要关于java多线程,主要还是以例子来驱动的。因为讲解多线程的书籍和文章已经很多了,所以我也不好意思多说,呵呵、大家可以去参考一些那些书籍。我这个文章主要关于实际的一些问题。同时也算是我以后复习的资料吧,。呵呵大家多多指教。同时希望多结交一些技术上转载 2013-03-05 09:06:55 · 652 阅读 · 0 评论 -
JVM
JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。 JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台转载 2012-07-10 10:28:39 · 404 阅读 · 0 评论 -
Java中异常机制以及常见异常
本文重在Java中异常机制的一些概念。写本文的目的在于方便我很长时间后若是忘了这些东西可以通过这篇文章迅速回忆起来。 1. 异常机制 1.1 异常机制是指当程序出现错误后,程序如何处理。具体来说,异常机制提供了程序退出的安全通道。当出现错误后,程序执行的流程发生改变,程序的控制权转移到异常处理器。1.2 传统的处理异常的办法是,函数返回一个特殊的结果来表示出现异常(通常这个特殊结果转载 2012-07-09 10:31:18 · 2044 阅读 · 0 评论 -
equals和==的区别
equals和==的区别==操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。equals操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相同。解释一下==号,他比较的是一个对象在内存中的地址值,比如2个字符串对象String s1 = new String("str");String s2 = new S转载 2012-07-08 19:50:33 · 511 阅读 · 0 评论 -
java实现从键盘输入两个数做运算
publicvoid add(){ Scanner in=new Scanner(System.in); //最重要的是 System的in方法 in是输入流 对应键盘输入double a= in.nextDouble();//数的输入 double b= in.nextDouble(); system.out.println(a+ b);}转载 2012-07-08 19:35:23 · 8361 阅读 · 0 评论 -
同步和异步
同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式。 异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式原创 2012-07-08 10:04:32 · 378 阅读 · 0 评论 -
线程
首先要理解线程首先需要了解一些基本的东西,我们现在所使用的大多数操作系统都属于多任务,分时操作系统。正是由于这种操作系统的出现才有了多线程这个概念。我们使用的windows,linux就属于此列。什么是分时操作系统呢,通俗一点与就是可以同一时间执行多个程序的操作系统,在自己的电脑上面,你是不是一边听歌,一边聊天还一边看网页呢?但实际上,并不上cpu在同时执行这些程序,cpu只是将时间切割为时间片,转载 2012-07-08 09:57:37 · 453 阅读 · 0 评论 -
RuntimeException
如果一个新手去一家软件公司面试,运行时异常与编译时异常是有很大概率要被问到的,这些属于基本概念。1.RuntimeException,也就是运行时异常,表示你的代码本身存在BUG,比如你提到的ArrayIndexOutOfBoundsException,数组下标越界,这个属于代码有问题,数组定义的长度不够实际使用,不处理肯定会报错,如果你操作某个模块发现能正常运行,那只是因为代码还没跑到这个错转载 2012-07-09 10:25:31 · 864 阅读 · 0 评论 -
Java接口学习笔记
2009-06-22 14:28 佚名 百度空间 我要评论(0) 字号:T | Tjava语言不支持一个类有多个直接的父类(多继承),但可以实现(implements)多个接口,间接的实现了多继承AD: 一、Java接口基础知识1, Java语言不支持一个类有多个直接的父类(多继承),但可以实现(implements)多个接口转载 2012-07-09 09:59:53 · 389 阅读 · 0 评论 -
抽象类和接口联系与区别
abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。 abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于 abstract class和interface的选择显得比较随意。其实,两者转载 2012-07-09 09:58:30 · 407 阅读 · 0 评论 -
StringBuilder
一个可变的字符序列。此类提供一个与 StringBuffer 兼容的 API,但不保证同步。该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)。如果可能,建议优先采用该类,因为在大多数实现中,它比 StringBuffer 要快。 在 StringBuilder 上的主要操作是 append 和 insert 方法,可重载这些方法,以接转载 2012-04-23 14:49:39 · 470 阅读 · 0 评论 -
this super
最好把super和this放在一起,对比着理解。super指向父类,用于引用父类的构造方法。this指向本类,用于引用本类中的其他方法。这么说太抽象,下边是一个很经典的例子,完全体现了super和this的用法和区别,请花几分钟把它读完:class Person { public static void prt(String s) { System.out.print转载 2012-04-19 16:46:01 · 589 阅读 · 0 评论 -
多态 重载 重写
运行时多态性是面向对象程序设计代码重用的一个最强大机制,Java多态性的概念也可以被说成“一个接口,多个方法”。Java实现运行时多态性的基础是动态方法调度,它是一种在运行时而不是在编译期调用重载方法的机制。方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的转载 2012-04-17 16:40:39 · 629 阅读 · 0 评论 -
引用
1。首先,你要明白什么是变量。变量的实质是一小块内存单元。这一小块内存里存储着变量的值比如int a = 1;a就是变量的名名,1就是变量的值。而当变量指向一个对象时,这个变量就被称为引用变量比如A a =new A();a就是引用变量,它指向了一个A对象,也可以说它引用了一个A对象。我们通过操纵这个a来操作A对象。 此时,变量a的值为它所引用对象的地址转载 2012-04-17 17:38:17 · 485 阅读 · 0 评论 -
类之间的关系
类与类之间的关系图(Class Diagram,UML图) 一、简介二、类的构成三、类之间的关系(Relationship)1、单向关联2、双向关联3、自身关联4、多维关联(N-ary Association)5、泛化(Generalization)6、依赖(Dependency)7、聚合(Aggregation)8、组合(Composit转载 2012-04-17 16:02:28 · 575 阅读 · 0 评论 -
如何取出 Map中key和value的值
如何取出 Map中key和value的值你是否已经对每次从Map中取得关键字然后再取得相应的值感觉厌倦?使用Map.Entry类,你可以得到在同一时间得到所有的信息。标准的Map访问方法如下:Set keys = map.keySet( );if(keys != null) {Iterator iterator = keys.iterator( );while(it转载 2012-04-27 17:33:22 · 1192 阅读 · 0 评论