自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

春风化雨

用心做事

  • 博客(48)
  • 资源 (10)
  • 收藏
  • 关注

转载 Java 中常见的一些陷阱问题知识点

问:下面找奇数的代码段有问题吗?boolean isOdd(int num) {    return num % 2 == 1;}答:没有考虑到负数问题,如果 num 为负则不正确。应该为 return num%2 == 0。问:下面循环代码段有问题吗?public static final int END = Integer.MAX_VALUE;public stat...

2018-11-30 23:32:36 248 2

原创 java编程校验技巧

任何事情有可能出错,没错,的确如此。这就是为什么我们要采用“防御性编程”,即一些偏执习惯的原因。下面是我个人认为的 10 个最有用但偏执的 Java 编程技术。一起来看一看吧:1.将 String 字符串放在最前面为了防止偶发性的 NullPointerException 异常,我们通常将 String 放置在 equals() 函数的左边来实现字符串比较,如下代码:// Bad...

2018-11-29 23:30:20 282

转载 Netty 是什么,Netty原理详解

来自:Hollis(微信号:hollischuang) 作者:陈彩华,就职于广州贝聊科技本文基于Netty4.1展开介绍相关理论模型,使用场景,基本组件、整体架构,知其然且知其所以然,希望给大家在实际开发实践、学习开源项目提供参考。这是一篇万字长文,建议先收藏,转发后再看。目录概述1、Netty简介2、Netty的特点3、Netty常见使用场景I/O模型阻塞I/O...

2018-11-29 22:57:04 4739

原创 Java虚拟机内存区域模型,读完便入门

最近抽空看了一点《深入理解Java虚拟机》,本篇文章主要来总结一下Java虚拟机内存的各个区域,以及这些区域的作用、服务对象以及其中可能产生的问题,作为大家的面试宝典。 首先我们来看一下Java运行时的数据区域,Java虚拟机在执行Java程序的过程中会把它所管理的内存划分成若干个不同的数据区域,这些区域都有各自的用途,各自的创建和销毁的时间。有的区域随着虚拟机进程的启动而存在,有些区域则...

2018-11-29 22:26:32 152

转载 88秒插入1000万条数据到MySQL数据库表的操作方法

我用到的数据库为,mysql数据库5.7版本的1、准备好数据库表其实我在插入1000万条数据的时候遇到了一些问题,现在先来解决他们,一开始我插入100万条数据时候报错,控制台的信息如下:com.mysql.jdbc.PacketTooBigException: Packet for query is too large (4232009 > 4194304). You can c...

2018-11-29 00:11:50 809

转载 一文弄懂“分布式锁”

多线程情况下对共享资源的操作需要加锁,避免数据被写乱,在分布式系统中,这个问题也是存在的,此时就需要一个分布式锁服务。常见的分布式锁实现一般是基于DB、Redis、zookeeper。下面笔者会按照顺序分析下这3种分布式锁的设计与实现,想直接看分布式锁总结的小伙伴可直接翻到文档末尾处。分布式锁的实现由多种方式,但是不管怎样,分布式锁一般要有以下特点:排他性:任意时刻,只能有一个clie...

2018-11-28 23:56:21 168

原创 你必须掌握的 Mysql 基本原理与应用

Mysql中有哪几种锁?MyISAM支持表锁,InnoDB支持表锁和行锁,默认为行锁表级锁:开销小,加锁快,不会出现死锁。锁定粒度大,发生锁冲突的概率最高,并发量最低行级锁:开销大,加锁慢,会出现死锁。锁力度小,发生锁冲突的概率小,并发度最高Mysql中有哪些不同的表格?共有5种类型的表格:MyISAM Heap Merge INNODB ISAMMyISAM是M...

2018-11-28 23:38:43 1033

转载 一段Java程序的生命史

作为一名程序猿 ,我们每天都在写Code,但你真的了解它的生命周期么?今天就来简单聊下它的生命历程,说起一段Java Code,从出生到game over大体分这么几步:编译、类加载、运行、GC。编译Java语言的编译期其实是一段“不确定 ”的过程,因为可能是一个前端编译器把.java文件转变为.class文件的过程;也可能是指JVM的后端运行期编译器(JIT编译器)把字节码转变为机器码的...

2018-11-28 22:48:55 233

原创 InnoDB引擎算法和优化

索引索引是应用程序设计和开发的一个重要方面。如果索引太多,应用的性能可能会受到影响;如果索引太少,对查询性能又会产生影响。1 innodb存储引擎介绍innodb存储引擎支持两种常见的索引:B+树索引和哈希索引。innodb支持哈希索引是自适应的,innodb会根据表的使用情况自动生成哈希索引。B+树索引就是传统意义上的索引,是关系型数据库中最常用最有效的索引。B+树是从最早的...

2018-11-28 18:24:41 694

转载 MySQL常见的三种存储引擎

        简单来说,存储引擎就是指表的类型以及表在计算机上的存储方式。        存储引擎的概念是MySQL的特点,Oracle中没有专门的存储引擎的概念,Oracle有OLTP和OLAP模式的区分。不同的存储引擎决定了MySQL数据库中的表可以用不同的方式来存储。我们可以根据数据的特点来选择不同的存储引擎。        在MySQL中的存储引擎有很多种,可以通过“SHOW E...

2018-11-28 17:54:08 864

原创 java 多态的理解与实现

首先,什么是多态?    1、面向对象的三大特性:封装、继承、多态。从一定角度来看,封装和继承几乎都是为多态而准备的。这是我们最后一个概念,也是最重要的知识点。    2、多态的定义:指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)    3、实现多态的技术称为:动态绑定(dynamic binding),是指在执...

2018-11-27 23:30:45 1405

转载 写好Java代码的30条经验总结,整本书的精华

成为一个优秀的Java程序员,有着良好的代码编写习惯是必不可少的。下面就让我们来看看代码编写的30条建议吧。(1) 类名首字母应该大写。字段、方法以及对象(句柄)的首字母应小写。对于所有标识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母。例如:ThisIsAClassNamethisIsMethodOrFieldName若在定义中出现了常数初始化字符,则大写sta...

2018-11-27 23:25:21 760

翻译 图解Java

1、字符串的不变性如下图,展示了代码究竟做了什么String s = "abcd";s = s.concat("ef"); 2、equals()方法、hashCode()方法的区别HashCode设计目的是提高性能。equals()方法与hashCode()方法的区别在于:如果两个对象相等(equal),那么他们一定有相同的哈希值。 如果两个对象的哈希值相同...

2018-11-26 23:39:38 1058

原创 再谈 HashMap

1、 常用的Map集合?HashMap、HashTable、LinkedHashMap、ConcurrentHashMap、TreeMap。2、Collection集合接口和Map接口有什么关系?没关系,Collection是List、Set父接口,不是Map父接口。3、HashMap是线程安全的吗?线程安全的Map都有哪些?性能最好的是哪个?HashMap不是线程安全的。线程...

2018-11-24 23:17:27 708

原创 Java 多线程常见问题

1、多线程有什么用?1)发挥多核CPU的优势随着工业的进步,现在的笔记本、台式机乃至商用的应用服务器至少也都是双核的,4核、8核甚至16核的也都不少见,如果是单线程的程序,那么在双核CPU上就浪费了50%,在4核CPU上就浪费了75%。单核CPU上所谓的"多线程"那是假的多线程,同一时间处理器只会处理一段逻辑,只不过线程之间切换得比较快,看着像多个线程"同时"运行罢了。多核CPU上的多线...

2018-11-24 23:04:01 1177

原创 Java事件机制代码实现

java事件机制包括三个部分:事件、事件监听器、事件源。1、事件。一般继承自java.util.EventObject类,封装了事件源对象及跟事件相关的信息。CusEvent类package com.liuxd.event;import java.util.EventObject;/** * 事件类,用于封装事件源及一些与事件相关的参数. */public clas......

2018-11-22 23:52:01 1736

原创 Java List原理性基础知识梳理

1、你知道的List都有哪些?ArrayList、LinkedList和Vector。 2、List和Vector有什么区别?1) Vector是List接口下线程安全的集合,多列表的操作都加了synchronized 修饰进行同步,即线程安全。2) 性能不同,List是无锁的,效率高,Vector有锁效率低。除此之外,二者几乎没有本质区别  public ...

2018-11-22 23:07:44 744

原创 Spring 的事务管理

1、什么是事务?                事务就是对一系列的数据库操作(比如插入多条数据)进行统一的提交或回滚操作,如果插入成功,那么一起成功,如果中间有一条出现异常,那么回滚之前的所有操作。这样可以防止出现脏数据,防止数据库数据出现问题。开发中为了避免这种情况一般都会进行事务管理。Spring 中也有自己的事务管理机制,一般是使用 TransactionMananger 进行管理,可以...

2018-11-21 23:22:52 698

转载 MySQL性能优化的最佳21条经验

今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库。希望下面的这些优化技巧对你有用。 1、为...

2018-11-21 23:18:51 680

转载 Java并发编程:volatile关键字解析

       volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。  volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键...

2018-11-21 22:39:16 702

原创 Zookeeper基础与原理

1、zookeeper是什么框架?        ZooKeeper是一个开源的分布式服务框架,它是ApacheHadoop项目的一个子项目,主要用来解决分布式应用场景中存在的一些问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置管理等,它支持Standalone模式和分布式模式,在分布式模式下,能够为分布式应用提供高性能和可靠地协调服务,而且使用ZooKeeper可以大大简化分布...

2018-11-20 23:12:30 1018

原创 Redis数据结构及使用场景

1、在Rredis 中一共有 5 种数据结构,都是key - value 形式存储String-------------字符串Hash--------------字典List ----------------列表Set-----------------集合Sorted Set-------有序集合2、五种结构各自的使用场景:1. String——字符串        String...

2018-11-20 23:12:14 1393

原创 java中高级面试问答

1、jvm对频繁调用的方法做了哪些优化?        Java虚拟机最开始是通过解释器进行解释执行的,当虚拟机发现某个方法或者代码块的运行特别频繁时,就会把这些代码认定为”热点代码”,为了提高热点代码的执行效率,在运行时,虚拟机会把这些代码编译成与本地平台相关的机器码,并进行各种层次的优化,完成这个任务的编译器称为即时编译器(JIT)。2、常见的攻击手段有哪些?如何防范?      ...

2018-11-20 22:23:31 919

原创 细说String

1、String是基本数据类型吗?String不是基本数据类型。 2、String是可变的话?String是final类型的,不可变。 3、怎么比较两个字符串的值一样,怎么比较两个字符串是否同一对象?比较字符串的值是否相同用equals,比较字符串对象是否同一个用==。 4、switch中可以使用String吗?jdk7+中的switch可以使用String类型。 ...

2018-11-20 22:20:12 696

原创 关于dubbo必须懂的原理知识

1、默认使用的是什么通信框架,还有别的选择吗?默认也推荐使用netty框架,还有mina。 2、服务调用是阻塞的吗?默认是阻塞的,可以异步调用,没有返回值的可以这么做。 <dubbo:reference id="demoService" check="false" interface="com.alibaba.dubbo.demo.DemoService"> ...

2018-11-16 11:05:21 1455

原创 Spring MVC概论

关键词:Spring MVC,MVC 模式,DispatcherServlet ,HandlerMapping ,HandlerAdapter,Handler,HttpMessageConveter,ModelAndView ,ViewResolver,WebApplicationContext,ApplicationContext 。首先,Spring MVC 框架有什么用?      ...

2018-11-13 23:19:54 771

原创 Spring AOP

首先,直接进入主题,什么是 AOP?AOP(Aspect-Oriented Programming), 即 面向切面编程, 它与 OOP( Object-Oriented Programming, 面向对象编程) 相辅相成, 提供了与 OOP 不同的抽象软件结构的视角.在 OOP 中, 我们以类(class)作为我们的基本单元, 而 AOP 中的基本单元是 Aspect(切面)其次,什么...

2018-11-13 23:18:12 299

原创 Spring数据库访问

首先,Spring DAO 有什么用?        Spring DAO 使得 JDBC、Hibernate 或 JDO 这样的数据访问技术更容易以一种统一的方式工作。这使得用户容易在持久性技术之间切换。它还允许您在编写代码时,无需考虑捕获每种技术不同的异常。其次,列举 Spring DAO 抛出的异常。再次,Spring JDBC API 中存在哪些类?        1)...

2018-11-13 23:04:12 786

原创 彻底解决intellij idea控制台中文乱码

仅需四步:第一步:修改intellij idea配置文件在intellij idea安装目录,bin文件夹下面有idea64.exe.vmoptions和idea.exe.vmoptions两个文件,分别在这两个文件中末尾处追加一行:-Dfile.encoding=UTF-8第二步:找到intellij idea的file->settings->Editor-&gt...

2018-11-13 17:07:28 1161

原创 beyond compare 4到期继续试用

beyond compare 4是非常好用的对比工具,试用期到期后,可以继续使用。*操作:删除或者重命名 beyond Compare 4安装目录下的BCUnrar.dll文件,然后重新打开 beyond Compare ,即可重新使用。说明:如果删除不了可以用腾讯管家等执行强制删除或粉碎。            ...

2018-11-13 16:44:18 2796 2

原创 数据库大量数据操作中事务优化方案

1、业务场景:1)短时间内向数据库中插入大量数据;2)大批量数据修改操作;3)批量删除数据。2、两个弊端方案1、处理完毕后统一提交数据库;2、每操作完一条记录,就提交更新。3、优化方案:批量事务1、增加计数标识,记录已处理数据的量;2、设定每批处理量的大小;3、自己控制事务,每达到一定数量,即可提交一次事务,更新至数据库。4、优点1、避免统一提交,对...

2018-11-13 11:26:47 4783

原创 Spring注解

首先,解释下什么是基于注解的容器配置?不使用 XML 来描述 bean 装配,开发人员通过在相关的类,方法或字段声明上使用注解将配置移动到组件类本身。它可以作为 XML 设置的替代方案。例如:Spring 的 Java 配置是通过使用 @Bean 和 @Configuration 来实现。@Bean 注解扮演与 元素相同的角色。@Configuration 类允许通过简单地调用同一个...

2018-11-12 23:22:06 660

原创 Spring之beans详解

首先,抛出一个问题,什么是 spring bean?        1) 它们是构成用户应用程序主干的对象。        2) Bean 由 Spring IoC 容器管理。        3) 它们由 Spring IoC 容器实例化,配置,装配和管理。        4) Bean 是基于用户提供给容器的配置元数据创建。其次,spring 都提供了哪几种配置方式?1)...

2018-11-12 00:00:19 3211

原创 也谈Spring之依赖注入DI/控制反转IOC

首先提问: 什么是 Spring IOC 容器?        Spring 框架的核心是 Spring 容器。容器创建对象,将它们装配在一起,配置它们并管理它们的完整生命周期。Spring 容器使用依赖注入来管理组成应用程序的组件。容器通过读取提供的配置元数据来接收对象进行实例化,配置和组装的指令。该元数据可以通过 XML,Java 注解或 Java 代码提供。然而,依赖注入到底是什...

2018-11-11 18:00:23 841

原创 Spring Framework 概论

首先, Spring Framework到底是什么鬼?     读者可以从以下几个方面来理解,是什么,目的,特点,作用四个方面来理解:    1)Spring 是一个开源应用框架,目的降低应用程序开发的复杂度;    2)它是轻量级、松散耦合的;    3)它具有分层体系结构,允许用户选择组件,同时还为 J2EE 应用程序开发提供了一个有凝聚力的框架;    4)它可以集成或整...

2018-11-11 17:20:25 813

原创 Java类集合整理

1、概念1、路径:集合类存放于java.util包中。2、存储:集合类存放的都是对象的引用,而非对象本身,出于表达上的便利,我们称集合中的对象就是指集合中对象的引用(reference)。另一面,就是集合不支持存放基本数据类型。3、分类:集合类型主要有3种:list(列表)、set(集)和map(映射)。        列表,主要特征:对象以线性方式存储,无特定顺序,只有一个开头和...

2018-11-11 14:19:08 718

转载 Java多线程编程 — 锁优化

作者:melonstreet链接:www.cnblogs.com/QG-whz阅读目录一、尽量不用:尽量不要锁住方法二、减小粒度:缩小同步代码块,只锁数据三、避免嵌套:锁中尽量不要再包含锁四、锁私有化:将锁私有化,在内部管理锁五、适当分解:进行适当的锁分解(目的,也是减小粒度)正文并发环境下进行编程时,需要使用锁机制来同步多线程间的操作,保证共享资源的互斥访问。另一...

2018-11-11 13:11:56 784

转载 单例的两种实现方式、多个版本及利弊对照

        单例设计模式,顾明思议,只有一个实例,先交代重要一点,为防止外界对该类进行实例化,需要把类的构造函数声明为私有化,这样大家对原理理解更深入些。1、饿汉式饿汉模式单例代码,经典,可用,无需改进。package com.single;/** * Created by Liuxd on 2018-11-09. */public class Singleton {...

2018-11-09 17:55:19 709

转载 设计模式是什么鬼(迭代器)讲得形象化,图形加助理解和记忆

文章出处:https://www.javazhiyin.com/tag/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F作者:凸凹里歐        方法迭代:代的更迭,从初代到末代的遍历,指对某类集合中的每个元素按顺序取出的行为。举个例子,通常我们读小说是从前往后翻,一页接着一页地读,这样我们才可以了解一个连续完整的故事,那这就需要我们顺序地迭代整本书的每一页内容...

2018-11-07 22:05:18 819

原创 浅谈高并发编程

1、首先考虑分布式,业务功能服务化        使用阿里的dubbo框架,使用zookeeper作为注册中心;或者spring cloud等;系统灵活部署,在真正消耗资源的服务上,考虑增加实例。2、打薄网关层        网关层,只做参数校验,和简单逻辑判断。3、非主业务流程异步化,建议使用mq异步        避免使用进程内异步化,因为虽然减少了单个请求的等待时间,但是...

2018-11-06 23:28:41 709

wsl_update_x64.msi

wsl_update_x64.msi

2022-08-26

tap-windows-9.21.2.zip

tap-windows-9.21.2.zip

2021-12-30

微软常用运行库合集64位系统.rar

微软常用运行库合集_2019.07.20_X64,解决常用软件安装缺少依赖的问题;避免手动查询具体依赖,以及最新版软件依赖变更后问题不能结局的情况。

2020-04-17

redis-3.3.3.rar

redis-3.3.3.gem,已打成压缩包,用于redis集群部署,预装插件,很好的支持redis完成集群操作。

2019-09-02

Microsoft Visual C++ 14.0

Microsoft Visual C++ 14.0,提供多种软件安装的提前提插件

2019-04-30

ezmorph-1.0.2.jar

ezmorph-1.0.2.jar,JAR包,最新

2014-08-21

json-lib-2.1-jdk15.jar

json-lib-2.1-jdk15.jar

2014-08-21

Toad_for_Oracle10中文手册

细致,全面,Oracle,文档,Toad_for_Oracle10中文手册

2013-10-21

优化SQL效率

优化SQL语句提高oracle执行效率(34种方法),提高你的sql执行效率,特别针对大数据。

2013-09-06

ssh+extjs开发crud--经典

基础+实践;容易初学者学习,并快速能够实践

2012-03-22

jQuery_LigerUI

最全的最实用jquery制作demo,网站模板。超级给力

2012-03-21

空空如也

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

TA关注的人

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