自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

俺叫赵小邪的博客

当你的能力撑不起你的野心时,你需要静下来心来学习了

  • 博客(31)
  • 资源 (3)
  • 收藏
  • 关注

原创 Redis初探08——Redis的高级实用特性

一、安全性 设置客户端连接后进行任何其他指定前需要使用的密码。 警告:因为redis速度相当快,所以一台比较好的服务器,一个外部用户可以在一秒钟进行15万次的密码尝试,这意味着你需要指定非常非常强大的密码来防止暴力破解。 1、设置redis密码: 在etc下的redis.conf文件中找到requirepass(vi命令下的搜索关键字:按下/后输入关键字) 在requirepass后跟

2017-04-28 00:52:55 1278

原创 Redis初探07——Redis常用命令

一、键值相关命令: 1、keys 返回满足给定pattern的所有的key。(*代表所有的key)127.0.0.1:6379> keys * 1) "list12" 2) "myset4" 3) "age" 4) "list2" 5) "key2" 6) "myset5" 7) "myset3" 8) "haircolor" 9) "list9"10) "agee"11)

2017-04-28 00:47:47 481

原创 java中高级面试题

面试问题:一、Java基础方面: 1、Java面相对象的思想的理解(主要是多态): http://blog.csdn.net/zhaojw_420/article/details/704776362、集合:ArrayList,LinkedList,HashMap,LinkedHashMap,ConcurrentHashMap,HashTable,HashSet的底层源码实现原理3、Java虚拟机

2017-04-28 00:32:52 20145 1

转载 大型网站应用之高并发情况下的解决方案

高并发情况下的解决方案:1. 应用程序和静态资源文件进行分离;2. 页面缓存;3. 集群与分布式;4. 反向代理;5. CDN;1、应用程序和静态资源文件进行分离 所谓的静态资源就是我们网站中用到的Html、Css、Js、Image、Video、Gif等静态资源。应用程序和静态资源文件进行分离也是常见的前后端分离的解决方案,应用服务只提供相应的数据服务,静态资源部署在指定的服务

2017-04-28 00:28:57 2427

转载 大型网站应用之海量数据解决方案

海量数据的解决方案:1. 使用缓存;2. 页面静态化技术;3. 数据库优化;4. 分离数据库中活跃的数据;5. 批量读取和延迟修改;6. 读写分离;7. 使用NoSQL和Hadoop等技术;8. 分布式部署数据库;9. 应用服务和数据服务分离;10. 使用搜索引擎搜索数据库中的数据;11. 进行业务的拆分;一、使用缓存 网站访问数据的特点大多数呈现为“二八定律”:80%的业务

2017-04-28 00:27:32 3847

转载 Sql优化

为查询缓存优化你的查询大多数的MySQL服务器都开启了查询缓存。这是提高性最有效的方法之一,而且这是被MySQL的数据库引擎处理的。当有很多相同的查询被执行了多次的时候,这些查询结果会被放到一个缓存中,这样,后续的相同的查询就不用操作表而直接访问缓存结果了。 这里最主要的问题是,对于程序员来说,这个事情是很容易被忽略的。因为,我们某些查询语句会让MySQL不使用缓存。请看下面的示例:1、SELE

2017-04-23 17:44:36 3317

转载 MySql面试题

1、MySQL的复制原理以及流程 基本原理流程,3个线程以及之间的关联; 1. 主:binlog线程——记录下所有改变了数据库数据的语句,放进master上的binlog中; 2. 从:io线程——在使用start slave 之后,负责从master上拉取 binlog 内容,放进 自己的relay log中; 3. 从:sql执行线程——执行relay log中的语句;2、MySQL中m

2017-04-23 17:43:11 4582

转载 Java中的垃圾回收

虚拟机中的共划分为三个代:年轻代(Young Generation)、年老点(Old Generation)和持久代(Permanent Generation)。其中持久代主要存放的是Java类的类信息,与垃圾收集要收集的Java对象关系不大。年轻代和年老代的划分是对垃圾收集影响比较大的。年轻代: 所有新生成的对象首先都是放在年轻代的。年轻代的目标就是尽可能快速的收集掉那些生命周期短的对象

2017-04-23 17:38:22 2571

转载 JVM调优

一、堆大小设置 JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。 典型设置: 1. java -Xmx3550m

2017-04-23 17:36:57 6012 1

转载 Java中的NIO实现原理

一.java NIO 和阻塞I/O的区别 1. 阻塞I/O通信模型 假如现在你对阻塞I/O已有了一定了解,我们知道阻塞I/O在调用InputStream.read()方法时是阻塞的,它会一直等到数据到来时(或超时)才会返回;同样,在调用ServerSocket.accept()方法时,也会一直阻塞到有客户端连接才会返回,每个客户端连接过来后,服务端都会启动一个线程去处理该客户端的请求。阻塞I

2017-04-23 17:30:07 3362

原创 Java中的IO流

1、文件流:I/O流 Java中文件表示:d:/../…或者d:\..\.. File 类没有无参构造方法. 2.i/o流的分类: 输入流,输出流 字节流,字符流 传输的数据单位是字节,也意味着字节流能够处理任何一种文件。 字节流的组成: 类inputStream,子类:fileinputStream outputStream,子类:fileoutputStream InputS

2017-04-23 17:25:29 1795

原创 Java虚拟机的组成

Java虚拟机主要分为以下五个区: 一、方法区: 1. 有时候也成为永久代,在该区内很少发生垃圾回收,但是并不代表不发生GC,在这里进行的GC主要是对方法区里的常量池和对类型的卸载 2. 方法区主要用来存储已被虚拟机加载的类的信息、常量、静态变量和即时编译器编译后的代码等数据。 3. 该区域是被线程共享的。 4. 方法区里有一个运行时常量池,用于存放静态编译产生的字面量和符号引用。该常量池

2017-04-22 22:56:54 5638

转载 简述DCL失效原因,解决方法

DCL单例模式针对延迟加载法的同步实现所产生的性能低的问题,我们可以采用DCL,即双重检查加锁(Double Check Lock)的方法来避免每次调用getInstance()方法时都同步。实现方式如下:public class LazySingleton { private int someField; private static LazySingleton instance;

2017-04-22 22:52:11 5300 4

转载 Java内存模型

Java的内存模型JMM(Java Memory Model)JMM主要是为了规定了线程和内存之间的一些关系。根据JMM的设计,系统存在一个主内存(Main Memory),Java中所有实例变量都储存在主存中,对于所有线程都是共享的。每条线程都有自己的工作内存(Working Memory),工作内存由缓存和堆栈两部分组成,缓存中保存的是主存中变量的拷贝,缓存可能并不总和主存同步,也就是缓存中变量

2017-04-22 22:46:59 1938

原创 Java中的泛型(Generic)

一、泛型作用* JDK5中的泛形允许程序员在编写集合代码时,就限制集合的处理类型,从而把原来程序运行时可能发生问题,转变为编译时的问题,以此提高程序的可读性和稳定性(尤其在大型程序中更为突出)。* 注意:泛型是提供给javac编译器使用的,它用于限定集合的输入类型,让编译器在源代码级别上,即挡住向集合中插入非法数据。但编译器编译完带有泛形的java程序后,生成的class文件中将不再带有泛形信息,

2017-04-22 22:25:44 489

原创 Java中的异常

异常: 子类继承父类的方法重写时,子类抛出异常不能多于父类抛出的异常。子类抛出的异常需要更具体。也就是父类同名方法子异常。异常的父类都是:throwable 子类:error,exception;1、异常(throwable):程序运行过程中出现不正常的现象。 2、子类;error(针对进程,导致jvm停止)、Exception(针对线程) 3、非检查异常(非受检异常、为检查异常)运行时异常

2017-04-22 22:19:25 2542 1

转载 Java中的String,StringBuffer,StringBuilder区别

String(大姐,出生于JDK1.0时代) 不可变字符序列 StringBuffer(二姐,出生于JDK1.0时代) 线程安全的可变字符序列 StringBuilder(小妹,出生于JDK1.5时代) 非线程安全的可变字符序列 String源码:public final class String implements java.io.Serializable, Co

2017-04-22 22:12:54 3360 2

转载 Java中的equals和hashCode

equals()和hashCode()方法是用来在同一类中做比较用的,尤其是在容器里如set存放同一类对象时用来判断放入的对象是否重复。 这里我们首先要明白一个问题: equals()相等的两个对象,hashcode()一定相等,equals()不相等的两个对象,却并不能证明他们的hashcode()不相等。换句话说,equals()方法不相等的两个对象,hashCode()有可能相等。(我的理

2017-04-22 22:10:16 1995

转载 Java中的值传递与引用传递

1.基本类型和引用类型在内存中的保存 Java中数据类型分为两大类,基本类型和对象类型。相应的,变量也有两种类型:基本类型和引用类型。 基本类型的变量保存原始值,即它代表的值就是数值本身; 而引用类型的变量保存引用值,”引用值”指向内存空间的地址,代表了某个对象的引用,而不是对象本身, 对象本身存放在这个引用值所表示的地址的位置。基本类型包括:byte,short,int,long,char,

2017-04-22 22:06:19 2667

原创 Java面试题——继承,多态

一、面向对象的思想 Java是一门纯粹的面向对象的语言。面向对象这种程序设计模式它将现实世界中的一切事物都看作是对象,例如,一个人是一个对象,汽车、飞机、小鸟等等,都是对象;它强调从对象出发,以对象为中心用人类的思维方式来认识和思考问题。每个对象都具有各自的状态特征(也可以称为属性)及行为特征(方法),java就是通过对象之间行为的交互来解决问题的。 类是面向对象中一个重要的概

2017-04-22 21:59:45 11773 1

转载 Java 30道经典笔试题

转自云栖社区——茶花盛开:https://yq.aliyun.com/articles/73655?utm_content=m_17183 下面都是我自己的答案非官方,仅供参考,如果有疑问或错误请一定要提出来,大家一起进步啦~~~下面哪些是Thread类的方法() A start() B run() C exit() D getPriority()答案:AB

2017-04-22 21:52:57 18528 4

原创 Redis初探06——Redis的有序集合sorted set类型及操作

Sorted Sets类型及操作: sorted set是set的一个升级版本,它在set的基础上桑增加了一个顺序属性,这一属性在添加修改元素的时候可以指定,每次指定后,zset会自动重新按新的值调整顺序。可以理解为有两列的mysql表,一列存value,一列存顺序。操作中key理解为zset的名字。1、zadd 向zset中添加value,score用于排序。如果元素存在,则更新其顺序,不更新

2017-04-13 00:13:58 424

转载 mysql中左连接,右连接,内连接查询,以及与where之间关系

左连接,右连接,内连接 现有表a有10条数据,表b有8条数据,那么表a与表b的笛尔卡积是多少? select * from ta,tb //输出结果为8*10=80条 1、左连接 以左表为准,去右表找数据,如果没有匹配的数据,则以null补空位,所以输出结果数>=

2017-04-11 17:54:56 1810

原创 Redis初探05——Redis的sets类型及操作

sets类型及操作 set是集合,他是String类型的无序集合。set是通过hashtable实现的,添加、删除和查找的复杂度都是O(1)。对集合我们可以取并集、交集、差集。通过这些操作我们可以实现sns中的好友推荐和blog中的tag功能。没有重复元素。 1、sadd 向名称为key的set中添加元素。 sadd set集合名称 元素。若添加的重复元素则不替换,返回0;127.0.0.1:

2017-04-11 17:51:46 362

原创 数据结构之双向链表

双向链表,每个节点除了保存了对下一个节点的引用,同时还保存这对前一个节点的引用。 其结点跟单链表相似,如图所示: 设计双向链表的操作: 1、结点数据:/** * 链表节点,相当于火车的车厢 * @author Administrator * */public class MyNode { //数据域 public long data; //指针域 pub

2017-04-11 17:47:48 289

原创 Redis初探04——Redis的list类型及操作

List是一个链表结构,主要功能是push,pop,获取一个范围的所有值等等,操作中key理解为链表的名字。redis的list类型起其实就是一个每个子元素都是String类型的双向链表。我们可以通过push,pop操作从链表的头部或者尾部添加元素、删除元素,这样list既可以作为栈,又可以作为队列。 操作: 指向头的方向为前。 1、lpush 在key对应的list的头部添加字符串元素。l

2017-04-11 00:43:38 386

原创 JDK 1.8下内部类的问题

今天在复习内部类的时候,发现了两个问题: 第一个是方法内部类: JDK 1.7以前,方法内部类中,方法的参数和局部变量,必须有final修饰才可以访问。但是我今天用JDK1.8后发现,貌似不需要用final修饰了。。。public class MethodInnerClass { private String str="我是外部类的成员变量"; private String out

2017-04-10 23:06:50 3645 2

转载 在一个千万级的数据库查寻中,如何提高查询效率?

在一个千万级的数据库查寻中,如何提高查询效率?1)数据库设计方面: a. 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 b. 应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,

2017-04-06 00:15:35 3967

原创 数据结构之双端链表

双端链表指的是双向链表中头结点始终保持着对尾结点的引用。 准备数据: 一、结点类:/** * 链表节点,相当于火车的车厢 * @author Administrator * */public class MyNode { //数据域 public long data; //指针域 public MyNode next; /** * 前指针

2017-04-06 00:10:40 334

原创 数据结构之双向链表

双向链表,每个节点除了保存了对下一个节点的引用,同时还保存这对前一个节点的引用。 其结点跟单链表相似,如图所示: 设计双向链表的操作: 1、结点数据:/** * 链表节点,相当于火车的车厢 * @author Administrator * */public class MyNode { //数据域 public long data; //

2017-04-05 23:57:36 294

原创 java多线程: 子线程循环10次,主线程接着循环100次,如此循环50次

package com.view04.alternate.print;/** * 子线程循环10次,主线程接着循环100次,如此循环50次的问题 * @author zhaojw_420 * */public class AlternateThread { public static void main(String[] args) { final Bussies bussi

2017-04-01 00:21:24 4005

java使用poi读取xls格式和xlsx格式的excel文件

java使用poi读取xls格式和xlsx格式的excel文件

2017-02-17

java读取tar.gz压缩文件的jar包

java读取tar.gz压缩文件的jar包

2016-09-01

java读取zip压缩文件第三方jar包

java读取zip压缩文件第三方jar包

2016-09-01

空空如也

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

TA关注的人

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