自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Gandoph的博客

天道酬勤

  • 博客(22)
  • 资源 (1)
  • 收藏
  • 关注

原创 如何判断两个链表是否相交?如果相交求交点

问题描述:一个比较经典的问题,判断两个链表是否相交,如果相交找出他们的交点。(注意两个单链表相交不会出现X型交叉——单链表,每个节点只有一个指针域)。第一种情况:两个链表均不含有环解题思路:1、直接法:采用暴力的方法,遍历两个链表,判断第一个链表的每个结点是否在第二个链表中,时间复杂度为O(len1*len2),耗时很大;顺序查询到第一个在第二个链表种的节点即是两个链表的交点。2、先遍历第一个链表...

2018-06-23 22:34:05 10419 2

转载 分布式开发redis的重要性

文章内容提要:本文围绕以下几点进行阐述1、为什么使用redis2、使用redis有什么缺点3、单线程的redis为什么这么快4、redis的数据类型,以及每种数据类型的使用场景5、redis的过期策略以及内存淘汰机制6、redis和数据库双写一致性问题7、如何应对缓存穿透和缓存雪崩问题8、如何解决redis的并发竞争问题正文1、为什么使用redis分析:博主觉得在项目中使用redis,主要是从两个...

2018-06-23 13:09:38 5335 1

原创 Java经典递归算法

1.斐波那契数列package com.luna.base;public class BirthRabbit { public static void main(String[] args) { int i = 1; for (i = 1; i <= 20; i++) { System.out.println("兔子第" + i + "个月的总数为:" + f(i)); ...

2018-06-16 23:17:57 61486 1

原创 递归实现Long、Integer、String逆序输出

1.递归逆序输出Integer类型的正整数字符串:/** * 递归输出反转后Integer类型字符串 * @param a * @return */ public static String reverseIntToStringForLoop(Integer a) { if (a < 0) return ""; if (a < 10) return...

2018-06-16 22:21:57 518

原创 Mybatis缓存简介

1.Mybatis数据库缓存概述      Mybatis提供查询缓存,用于减轻数据压力,提高数据库性能。Mybatis提供一级缓存和二级缓存。Mybatis提供一级缓存和二级缓存。Mybatis一级缓存的作用域是同一个SqlSession,在同一个sqlSession中两次执行相同的sql语句,第一次执行完毕会将数据库中查询的数据写到缓存(内存),第二次会从缓存中获取数据将不再从数据库查询,从而...

2018-06-16 13:11:36 546

转载 深入理解BeanFactory

1.BeanFactory概述      Spring的本质是一个bean工厂(beanFactory)或者说bean容器,它按照我们的要求,生产我们需要的各种各样的bean,提供给我们使用。只是在生产bean的过程中,需要解决bean之间的依赖问题,才引入了依赖注入(DI)这种技术。也就是说依赖注入是beanFactory生产bean时为了解决bean之间的依赖的一种技术而已。那么我们为什么需要...

2018-06-16 11:25:20 1209

转载 Kafka基本原理

一、Kafka简介1.1 背景历史当今社会各种应用系统诸如商业、社交、搜索、浏览等像信息工厂一样不断的生产出各种信息,在大数据时代,我们面临如下几个挑战:如何收集这些巨大的信息如何分析它如何及时做到如上两点以上几个挑战形成了一个业务需求模型,即生产者生产(produce)各种信息,消费者消费(consume)(处理分析)这些信息,而在生产者与消费者之间,需要一个沟通两者的桥梁-消息系统。从一个微观...

2018-06-14 22:56:44 304

转载 RocketMQ RabbitMQ KafKa对比

ActiveMQ RabbitMQ KafKa对比

2018-06-13 23:17:28 953

原创 Spring Bean的生命周期

1.SpringBean的生命周期

2018-06-12 22:34:21 146

原创 Spring之旅第一章

Spring的核心功能是简化Java的开发。

2018-06-11 23:50:12 194

原创 CentOS7 最新版本Yum安装Mysql流程

第一步:安装         # yum -y install mysql-server第一步就遇到问题,安装mysql-server报错没有可用包,解决方案:# sudo rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm       之后再次执行:yum -y install mysql-ser...

2018-06-10 20:43:31 579

转载 Linux系统的IO模型

1.IO模型  linux系统IO分为内核准备数据和将数据从内核拷贝到用户空间两个阶段。 这张图大致描述了数据从外部磁盘向运行中程序的内存中移动的过程。2.用户空间、内核空间  现在操作系统都是采用虚拟存储器,那么对32位操作系统而言,它的寻址空间(虚拟储存空间)为4G(2的32次方)。操作系统的核心是内核,独立于普通的应用程序,可以访问受保护的内存空间,也有访问底层硬件设备的所有权限。为了保证用...

2018-06-05 08:28:33 290

原创 IOServer简单实现

1.传统IO      创建传统IO的Socket服务Server端,代码如下所示:package com.luna.netty;import java.io.IOException;import java.io.InputStream;import java.net.ServerSocket;import java.net.Socket;import java.util.concurr...

2018-06-04 23:39:09 5500

转载 多线程常用的线程模型

1.Futura模型      Future模型通常在使用的时候需要结合Callable接口配合使用,Future模型即是把线程的执行结果放到将来获取。当前主线程并不急于获取处理结果时,允许子线程先进行处理一段时间,处理结束之后就把结果保存下来,当主线程需要使用的时候再向子线程索取。Callable是类似于Runnable的接口,其中call方法类似于run方法,所不同的是run方法不能抛出受检异...

2018-06-03 23:31:15 3373

原创 Java定时任务Quartz二

1.浅谈Trigger2.浅谈CronTrigger3.Quartz实际应用4.总结

2018-06-03 15:21:48 2993

原创 Java定时任务Quartz一

1.概要      Quartz是由OpenSymphony提供的强大的开源任务调度框架。官网地址:http://www.quartz-scheduler.org/,纯Java实现。强大的调度功能:很容易与Spring集成,提供调度运行环境的持久化机制,保存并恢复任务调度现场。即使系统因故障关闭,任务调度现场数据也不会丢失;灵活的应用方式:允许灵活的定义触发器的调度时间表,并可以对触发器和任务进行...

2018-06-02 22:58:15 1435

原创 Java NIO 与 IO之间的区别

1.概述Java NIO提供了与标准IO不同的IO工作方式: Channels and Buffers(通道和缓冲区):标准的IO基于字节流和字符流进行操作的,而NIO是基于通道(Channel)和缓冲区(Buffer)进行操作,数据总是从通道读取到缓冲区中,或者从缓冲区写入到通道中。Asynchronous IO(异步IO):Java NIO可以让你异步的使用IO,例如:当线程从通道读取数据到缓...

2018-06-02 21:19:42 198

原创 MySql数据的库优化

1.数据库基本操作少用in关键字,用exist替换in关键字;用“>=”替换“>”,用exists替换distinct;用union、in替换or;select语句中避免使用*,用truncate替换delete;用where子句替换having子句;使用别名可以大大提高查询效率;只选取想要的属性字段;2.MySql性能优化顺序优化SQL和索引;加缓存redis、memcache;主从...

2018-06-02 21:14:44 256

原创 MySQL数据库引擎

MyISAM存储引擎       不支持事务、也不支持外键,优势是访问速度快,对事务完整性没有 要求或者以select,insert为主的应用基本上可以用这个引擎来创建表,支持3种不同的存储格式,分别是:静态表;动态表;压缩表静态表:表中的字段都是非变长字段,这样每个记录都是固定长度的,优点存储非常迅速,容易缓存,出现故障容易恢复;缺点是占用的空间通常比动态表多(因为存储时会按照列的宽度定义补足空...

2018-06-02 20:42:00 200

转载 Dubbo支持的协议的详解

Dubbo支持dubbo、rmi、hessian、http、webservice、thrift、redis等多种协议,但是Dubbo官网是推荐我们使用Dubbo协议的。下面我们就针对Dubbo的每种协议详解讲解,以便我们在实际应用中能够正确取舍。dubbo协议缺省协议,使用基于mina1.1.7+hessian3.2.1的tbremoting交互。 连接个数:单连接 连接方式:长连接 传输协议:T...

2018-06-02 17:09:15 542

原创 数据库事务简单分析

1.数据库事务概述       数据库锁是实现并发控制的主要方法,是多个用户能够同时操纵同一个数据库中的数据而不发生数据不一致现象的重要保障。 一般来说,锁可以防止脏读、不可重复读和幻读。√: 可能出现    ×: 不会出现 脏读不可重复读幻读Read uncommitted√√√Read committed×√√Repeatable read××√Serializable×××2.脏读(Dirt...

2018-06-02 16:12:13 654

转载 集群/分布式环境下常用session处理策略

        转载自:http://blog.csdn.net/u010028869/article/details/50773174?ref=myread前言       在搭建完集群环境后,不得不考虑的一个问题就是用户访问产生的session如何处理。如果不做任何处理的话,用户将出现频繁登录的现象,比如集群中存在A、B两台服务器,用户在第一次访问网站时,Nginx通过其负载均衡机制将用户请求...

2018-06-01 09:06:02 239

自动生成Dao、Service工具类

Spring+SpringMVC+Mybatis+Redis+OSS项目工具类大合集

2018-05-05

空空如也

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

TA关注的人

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