点滴积累

小女子杂记

mysql必知必会——GROUP BY和HAVING

GROUP BY语法可以根据给定数据列的每个成员对查询结果进行分组统计,最终得到一个分组汇总表。 select子句中的列名必须为分组列或列函数,列函数对于group by子句定义的每个组返回一个结果。 某个员工信息表结构和数据如下:   id  name  dept  salary  edl...

2016-09-16 23:58:49

阅读数 69587

评论数 11

常见的java线程面试题

1.什么是线程? 线程是操作系统中能够运行的最小单位,它被包含在进程中,是进程中的实际运作单位。程序员可以通过它进行多处理器编程,你可以使用多线程对运算密集型任务提速。比如,如果一个线程完成一个任务需要100毫秒,那么用十个线程完成改任务只需10毫秒。 2.在java中实现线程的方式? 继...

2016-09-15 17:42:19

阅读数 509

评论数 0

MySQL性能优化小记

关于MySQL性能优化我的几点总结: 根据业务选择合适的数据库;采用数据库缓存技术,如memcache、redis等。可以使用动态服务器层的的程序来控制数据库缓存的分布式访问;采用MySQL主从结构;如果业务量更加巨大时,可以对数据库进行拆表、拆库,实现数据库级别的负载均衡。 下面是在...

2016-09-08 08:52:59

阅读数 493

评论数 0

Spring AOP的实现——动态代理机制

在java的动态代理中,有两个重要的类或者接口,一个是InvocationHandler(Interface)、另一个是Proxy(Class),这一个类和接口是实现动态代理所必须的。 InvocationHandler:每一个动态代理类都必须实现InvocationHandler这个接口,并且每...

2016-08-29 21:15:05

阅读数 16984

评论数 0

web缓存知识整理

1.缓存的分类: 缓存分为服务侧和客户端侧。 服务端缓存又分为代理服务器缓存和反向代理服务器缓存(也叫网关缓存,比如Nginx反向代理、Squid等),其实广泛使用的CDN也是一种服务器缓存,目的是让用户的请求走“捷径”,并且都是缓存图片、文件等静态资源。 客户端侧缓存一般指浏览器缓存,目的是加速...

2016-08-13 12:20:40

阅读数 495

评论数 0

java多线程

一、线程的生命周期及五种基本状态 关于线程的生命周期,首先看看下面这张图: java线程中的五种基本状态: 新建状态(New):当线程对象创建后,即进入了新建状态,如Thread t = new Thread(); 就绪状态(Runnable):当调用线程对象的start()方法(t.s...

2016-08-03 15:03:32

阅读数 340

评论数 0

讨论MySQL索引底层实现

MySQL支持多种索引类型,如BTree索引,哈希索引,全文索引等待。 本文主要讨论BTree索引,这也是我们平时用得最多的索引。 索引的本质 MySQL官方对于索引的定义为:索引是帮助MySQL高效获取数据的数据结构。即可以理解为:索引是数据结构。 我们知道,数据库查询是数据库最主要...

2016-10-02 15:35:35

阅读数 6345

评论数 1

浅谈ThreadLocal类

java.lang.ThreadLocal,线程局部变量,把一个共享变量变为线程的一个私有对象。不同线程访问一个ThreadLocal类对象时,锁访问和修改的是每个线程变量各自独立的对象。通过ThreadLocal可以快速把一个非线程安全的对象转换成线程安全的对象。(同时也不能达到数据传递的作用了...

2016-09-18 18:52:34

阅读数 776

评论数 0

MySQL事务的隔离级别

设置的目的 在数据库操作中,为了有效保证并发读取数据的正确性,提出事务的隔离级别。 数据库事务并发带来的问题 更新丢失:两个事务都同时更新一行数据,但是第二个事务却中途失败退出,导致对数据的两个修改都失效了。这是因为系统没有执行任锁操作,因此并发事务没有被隔离出来。脏读:一个事物开始读取某行数...

2016-09-14 20:02:32

阅读数 403

评论数 0

设计模式——单例模式的几种实现方式

1.饿汉式:静态常量 这种方法非常的简单,因为单例的实例被声明成static和final变量了,在第一次加载类到内存中时就会初始化,所以会创建实例本身是线程安全的。public class Singleton1 { private final static Singleton1 instanc...

2016-09-01 00:03:25

阅读数 3425

评论数 0

面试题总结3

1.如何判断两个类是否相同? 2.哪些集合是线程安全的?为什么是线程安全的? 3.如何解决hash冲突? 4.java中常见的异常? java.lang.NullPointerException(空指针) 调用了未经初始化的对象或者不存在的对象,这个错误经常存在。如在创建...

2016-08-24 09:48:29

阅读数 413

评论数 0

处理哈希(HASH)冲突的方法

虽然我们不希望发生冲突,但实际上发生冲突的可能性仍是存在的。当关键字值域远大于哈希表的长度,而且事先并不知道关键字的具体取值时。冲突就难免会发生。另外,当关键字的实际取值大于哈希表的长度时,而且表中已装满了记录,如果插入一个新记录,不仅发生冲突,而且还会发生溢出。因此,处理冲突和溢出是哈希技术中的...

2016-08-22 22:58:17

阅读数 682

评论数 0

如何解决秒杀的性能问题和超卖的讨论

一、秒杀带来了什么?       秒杀或抢购活动一般会经过【预约】【抢订单】【支付】这3个大环节,而其中【抢订单】这个环节是最考验业务提供方的抗压能力的。   抢订单环节一般会带来2个问题:   1、高并发   比较火热的秒杀在线人数都是10w起的,如此之高的在线人数对于网站架构从前...

2016-08-21 23:29:15

阅读数 367

评论数 0

Java中的hashCode()和equals()

原文地址:点击打开链接 以下是关于HashCode的官方文档定义: [plain] view plain copy hashcode方法返回该对象的哈希码值。支持该方法是为哈希表提供一些优点,例如,java.util.Hashtable 提...

2016-08-18 01:07:21

阅读数 241

评论数 0

Spring AOP的实现——对AOP的理解

什么是AOP AOP(Aspect Orient Programming,即面向切面编程)。AOP和OOP(Object Orient Programming,面向对象编程)互为补充,面向对象编程将程序分解成各个层次的对象,而面向切面编程将程序运行过程分解成各个切面。可以这么理解:面向对象编程是...

2016-08-17 00:55:15

阅读数 3324

评论数 0

索引基础——B-Tree、B+Tree、红黑树、B*Tree数据结构

B树(B-Tree,并不是B“减”树,横杠为连接符,容易被误导)        是一种多路搜索树(并不是二叉的):        1.定义任意非叶子结点最多只有M个儿子;且M>2;        2.根结点的儿子数为[2, M];        3.除根结点以外的非叶...

2016-08-15 11:03:25

阅读数 500

评论数 0

银行家算法

面试临近,最近复习操作系统中,银行家算法是面试常考点。 银行家算法是为了避免死锁。 我们可以把操作系统看作是银行家,操作系统管理的资源相当于银行家管理的资金,进程向操作系统请求分配资源相当于用户向银行家贷款。为保证资金的安全,银行家规定: 当一个顾客对资金的最大需求量不超过银行家现有的资金就可...

2016-08-14 17:43:09

阅读数 1267

评论数 0

java中请求转发和重定向的区别

对于初学者来说,可能一开始并不太关注这个问题。最近刷笔试题时,我又复习了一遍。今天在这里稍做总结,希望能帮助到大家。 请求转发: request.getRequestDispatcher().forward(); 重定向: response.sendRedirect(); 例如: 请求转发: ...

2016-08-11 21:28:08

阅读数 12607

评论数 2

并发和并行的区别

并发是指在一个时间段,多条指令串行执行,但由于CPU轮换速度非常快,所以可以看做多条指令同时进行。 并行是指在一个时间点,多条指令在多个处理机上同时执行。 你吃饭吃到一半,电话来了,你一直到吃完了以后才去接,说明你不支持并发也不支持并行。 你吃饭吃到一半,电话来了,你停下来接了电话,...

2016-08-11 15:49:13

阅读数 331

评论数 0

初识webSocket

一、WebSocket的前世今生: Web应用的交互过程通常是客户端通过浏览器发出一个请求,服务器接收请求后进行处理并返回结果给客户端,客户端浏览器将信息呈现,这种机制对于信息变化不是特别频繁的应用尚可,但对于实时要求高、海量并发的应用来说,高并发与用户实时响应是Web应用经常面临的问题,比如金...

2016-08-05 23:57:48

阅读数 400

评论数 0

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