自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Java笔记虾

欢迎关注我的微信公众号:Java笔记虾 ,技术文章第一时间送达!

  • 博客(48)
  • 收藏
  • 关注

转载 面向对象设计七大原则

1. 单一职责原则(Single Responsibility Principle)每一个类应该专注于做一件事情。2. 里氏替换原则(Liskov Substitution Principle)超类存在的地方,子类是可以替换的。3. 依赖倒置原则(Dependence Inversion Principle)实现尽量依赖抽象,不依赖具体实现。4. 接口隔离原则(Interface Segregat...

2018-02-27 10:52:40 854

转载 Java回调机制解读

点击上方“Java知音”,选择“置顶公众号”技术文章第一时间送达!本文作者:五月的仓颉,欢迎点击阅读原文。知音专栏 Javaweb练手项目源码下载常用设计模式完整系列篇100套IT类简历模板下载Java常见面试题汇总篇模块间调用在一个应用系统中,无论使用何种语言开发,必然存在模块之间的调用,调用的方式分为几种:(1)同步调用同步调用是最基本并且最简单的一种调用方式,类A的方法a()调用类B的方法b...

2018-02-27 10:43:37 857

转载 面向对象之多态【向上转型与向下转型】

点击上方“Java知音”,选择“置顶公众号”技术文章第一时间送达!本文出作者:clever_fan,欢迎点击阅读原文!知音专栏:JavaWeb练手项目源码下载常用的设计模式完整总结篇近几年的java面试题总结汇总简单的理解多态多态,简而言之就是同一个行为具有多个不同表现形式或形态的能力。比如说,有一杯水,我不知道它是温的、冰的还是烫的,但是我一摸我就知道了。我摸水杯这个动作,对于不同温度的水,就会...

2018-02-26 18:15:59 953

转载 拿到年终奖后马上辞职,厚道吗?

点击上方“Java知音”,选择“置顶公众号”技术文章第一时间送达!知音专栏:JavaWeb练手项目源码下载常用的设计模式完整总结篇近几年的java面试题总结汇总这里引自知乎上的一个话题:“拿到年终奖后马上辞职,厚道吗?”,以下是疯死沃的回答,个人感觉对此时的我们可能很具有参考价值,平台经作者授权发布,转载请自行联系原作者,欢迎大家点击阅读原文。以下是正文:我以前也遇到过你这种萌新。当时出差,公司塞...

2018-02-26 18:13:18 1462

转载 软件开发之技能梳理

点击上方“Java知音”,选择“置顶公众号”技术文章第一时间送达!本文作者:琴水玉。欢迎点击http://www.cnblogs.com/lovesqcc/p/4038423.html。知音专栏 Javaweb练手项目源码下载常用设计模式完整系列篇100套IT类简历模板下载Java常见面试题汇总篇摘要:根据我的开发实践及理解,梳理了作为软件工程师解决现实问题应当具备的基础技能。难度:中级。    ...

2018-02-26 18:03:45 1079

转载 java synchronized详解(2)

点击上方“Java知音”,选择“置顶公众号”技术文章第一时间送达!知音专栏 Javaweb练手项目源码下载常用设计模式完整系列篇100套IT类简历模板下载Java常见面试题汇总篇synchronized 关键字,它包括两种用法:synchronized 方法和 synchronized 块。  1. synchronized 方法:通过在方法声明中加入 synchronized关键字来声明 syn...

2018-02-26 17:57:46 790

转载 java synchronized详解(1)

点击上方“Java知音”,选择“置顶公众号”技术文章第一时间送达!知音专栏 Javaweb练手项目源码下载常用设计模式完整系列篇100套IT类简历模板下载Java常见面试题汇总篇Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。     一、当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时...

2018-02-26 17:55:20 793

转载 详解equals()方法和hashCode()方法

点击上方“Java知音”,选择“置顶公众号”技术文章第一时间送达!知音专栏 Javaweb练手项目源码下载常用设计模式完整系列篇100套IT类简历模板下载Java常见面试题汇总篇前言Java的基类Object提供了一些方法,其中equals()方法用于判断两个对象是否相等,hashCode()方法用于计算对象的哈希码。equals()和hashCode()都不是final方法,都可以被重写(ove...

2018-02-26 17:52:47 719

转载 java处理高并发高负载类网站的优化方法

一:高并发高负载类网站关注点之数据库    没错,首先是数据库,这是大多数应用所面临的首个SPOF。尤其是Web2.0的应用,数据库的响应是首先要解决的。    一般来说MySQL是最常用的,可能最初是一个mysql主机,当数据增加到100万以上,那么,MySQL的效能急剧下降。常用的优化措施是M-S(主-从)方式进行同步复制,将查询和操作和分别在不同的服务器上进行操作。我推荐的是M-M-Slav...

2018-02-09 11:10:26 919

转载 理解Spring中的IOC和AOP

我们是在使用Spring框架的过程中,其实就是为了使用IOC,依赖注入和AOP,面向切面编程,这两个是Spring的灵魂。主要用到的设计模式有工厂模式和代理模式IOC就是典型的工厂模式,通过sessionfactory去注入实例。AOP就是典型的代理模式的体现。代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以...

2018-02-09 11:08:25 1433

转载 11 个简单的 Java 性能调优技巧

        大多数开发人员理所当然地以为性能优化很复杂,需要大量的经验和知识。好吧,不能说这是完全错误的。优化应用程序以获得最佳性能不是一件容易的事情。但是,这并不意味着如果你不具备这些知识,就不能做任何事情。这里有11个易于遵循的建议和最佳实践可以帮助你创建一个性能良好的应用程序。        大部分建议是针对Java的。但也有若干建议是与语言无关的,可以应用于所有应用程序和编程语言。在讨...

2018-02-08 14:23:37 829

转载 ArrayList和LinkedList的区别

SpringCloud实战视频下载Javaweb练手项目源码下载精选Javaweb相关视频教程100套IT类简历模板下载ArrayList和Vector使用了数组的实现,可以认为ArrayList或者Vector封装了对内部数组的操作,比如向数组中添加,删除,插入新的元素或者数据的扩展和重定向。LinkedList使用了循环双向链表数据结构。与基于数组ArrayList相比,这是两种截然不同的实现...

2018-02-08 14:17:58 946

转载 MVC框架是什么

SpringCloud实战视频下载Javaweb练手项目源码下载精选Javaweb相关视频教程100套IT类简历模板下载MVC (Model View Controler)本来是存在于Desktop程序中的,M是指数据模型,V是指用户界面,C则是控制器。使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据你可以分别用柱状图、饼图来表示。C存在的目的则是...

2018-02-08 14:14:52 1391

转载 【MySQL索引】使用教程

SpringCloud实战视频下载Javaweb练手项目源码下载精选Javaweb相关视频教程100套IT类简历模板下载关于MySQL索引的好处,如果正确合理设计并且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车。对于没有索引的表,单表查询可能几十万数据就是瓶颈,而通常大型网站单日就可能会产生几十万甚至几百万的数据,没有索引查询会变的非常缓慢。还是以W...

2018-02-08 14:13:04 1428

转载 大话程序猿眼里的高并发

SpringCloud实战视频下载Javaweb练手项目源码下载精选Javaweb相关视频教程100套IT类简历模板下载高并发是指在同一个时间点,有很多用户同时的访问URL地址。比如:淘宝的双11,双12,就会产生高并发,如贴吧的爆吧,就是恶意的高并发请求。也就是DDOS攻击,再屌丝点的说法就像玩撸啊撸被ADC暴击了一样,那伤害你懂得(如果你看懂了这个说法,说明是正在奔向人生巅峰的屌丝。)高并发会...

2018-02-08 14:10:41 812

转载 JAVA多线程实现和应用总结

1.JAVA多线程实现方式JAVA多线程实现方式主要有三种:继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没有返回值,只有最后一种是带返回值的。2.继承Thread类实现多线程继承Thread类的方法尽管被我列为一种多线程实现方式,但Thread本质上也是实现了Runnable接口...

2018-02-08 14:09:16 856

转载 探讨Java中最常见的十道面试题(超经典)

第一,谈谈final, finally, finalize的区别。 final?修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为fi...

2018-02-08 14:04:08 15851 1

转载 多线程的优点

尽管面临很多挑战,多线程有一些优点使得它一直被使用。这些优点是:资源利用率更好程序设计在某些情况下更简单程序响应更快资源利用率更好想象一下,一个应用程序需要从本地文件系统中读取和处理文件的情景。比方说,从磁盘读取一个文件需要5秒,处理一个文件需要2秒。处理两个文件则需要:5秒读取文件A2秒处理文件A5秒读取文件B2秒处理文件B---------------------总共需要14秒从磁盘中读取文件...

2018-02-08 14:01:57 896

转载 Java中BIO,NIO,AIO的理解

在高性能的IO体系设计中,有几个名词概念常常会使我们感到迷惑不解。具体如下: 1 什么是同步? 2 什么是异步? 3 什么是阻塞? 4 什么是非阻塞? 5 什么是同步阻塞? 6 什么是同步非阻塞? 7 什么是异步阻塞? 8 什么是异步非阻塞?先来举个实例生活中的例子:如果你想吃一份宫保鸡丁盖饭:同步阻塞:你到饭馆点餐,然后在那等着,还要一边喊:好了没啊!同步非阻塞:在饭馆点完餐,就去遛狗了。不过溜...

2018-02-08 14:00:18 805

转载 如何成为一名成功的程序员

编程是一个仅靠兴趣仍不足以抵达成功彼岸的领域。你必须充满激情,并且持之以恒地不断汲取更多有关编程的知识。只是对编程感兴趣还不足以功成名就——众所周知,我们工作起来像疯子。编程是一个没有极限的职业,所以要成为一个成功的程序员,你必须超越现有已存在的极限。在程序员职业生涯的开始阶段,他们将面临许多挑战,面对困境,他们之中有一些人将会放弃,而只有少数人会坚持到底,并成为这个领域的领头羊。1.愿意学习新技...

2018-02-08 13:58:51 917

转载 mysql分表的3种方法

推荐阅读    微服务:springboot系列教程学习    源码:Javaweb练手项目源码下载    调优:十五篇好文回顾    面试笔试:面试笔试整理系列一,先说一下为什么要分表当一张的数据达到几百万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了。分表的目的就在于此,减小数据库的负担,缩短查询时间。根据个人经验,mysql执行一个sql的过程如下:1、接收到sq...

2018-02-08 13:55:34 7915 1

转载 20条最最常用的Linux命令讲解

推荐阅读    微服务:springboot系列教程学习    源码:Javaweb练手项目源码下载    调优:十五篇好文回顾    面试笔试:面试笔试整理系列玩过Linux的人都会知道,Linux中的命令的确是非常多,但是玩过Linux的人也从来不会因为Linux的命令如此之多而烦恼,因为我们只需要掌握我们最常用的命令就可以了。当然你也可以在使用时去找一下man,他会帮你解决不少的问题。然而每...

2018-02-08 13:53:49 1072

转载 web.xml 组件加载顺序

推荐阅读    微服务:springboot系列教程学习    源码:Javaweb练手项目源码下载    调优:十五篇好文回顾    面试笔试:面试笔试整理系列在配置项目组件的过程中, 了解Tomcat加载组件顺序很有必要。 例如某些框架如Quartz的集群功能需要数据库的支持, 数据库的加载肯定要在框架组件加载之前。经过查阅和Debug发现, web.xml组件加载顺序为:context-pa...

2018-02-08 13:52:07 1220

转载 类加载器详解

推荐阅读    微服务:springboot系列教程学习    源码:Javaweb练手项目源码下载    调优:十五篇好文回顾    面试笔试:面试笔试整理系列类加载器是负责将可能是网络上、也可能是磁盘上的class文件加载到内存中。并为其生成对应的java.lang.class对象。一旦一个类被载入JVM了,同一个类就不会被再次加载。那么怎样才算是同一个类?在JAVA中一个类用其全限定类名(包...

2018-02-08 13:50:40 764

转载 进程与线程的一个简单解释

进程(process)和线程(thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握。最近,我读到一篇材料,发现有一个很好的类比,可以把它们解释地清晰易懂。1.计算机的核心是CPU,它承担了所有的计算任务。它就像一座工厂,时刻在运行。2.假定工厂的电力有限,一次只能供给一个车间使用。也就是说,一个车间开工的时候,其他车间都必须停工。背后的含义就是,单个CPU一次只能运行一个任务。3.进程...

2018-02-08 13:47:40 721

转载 MySQL索引优化

推荐阅读    微服务:springboot系列教程学习    源码:Javaweb练手项目源码下载    调优:十五篇好文回顾    面试笔试:面试笔试整理系列MySQL官方对索引的定义:索引是帮助MySQL高效获取数据的数据结构。索引是在存储引擎中实现的,所以每种存储引擎中的索引都不一样。如MYISAM和InnoDB存储引擎只支持BTree索引;MEMORY和HEAP储存引擎可以支持HASH和...

2018-02-08 13:47:11 736

转载 【Linux入门学习之】vi/vim编辑器必知必会

推荐阅读    微服务:springboot系列教程学习    源码:Javaweb练手项目源码下载    调优:十五篇好文回顾    面试笔试:面试笔试整理系列一、我们为什么要学习vim编辑器?Linux的命令行界面下面有非常多的文本编辑器。比如经常听说的就有Emacs、pico、nano、joe与vim等。vim可以看做是vi的高级版。我们为什么一定要学习vim呢?有以下几个原因:(1)所有的...

2018-02-08 13:43:45 1429 1

转载 JDK6和JDK7中的substring()方法

推荐阅读    微服务:springboot系列教程学习    源码:Javaweb练手项目源码下载    调优:十五篇好文回顾    面试笔试:面试笔试整理系列substring(int beginIndex, int endIndex)在JDK6与JDK7中的实现方式不一样,理解他们的差异有助于更好的使用它们。为了简单起见,下面所说的substring()指的就是substring(int b...

2018-02-08 13:38:31 862

转载 什么是内存泄漏

推荐阅读    微服务:springboot系列教程学习    源码:Javaweb练手项目源码下载    调优:十五篇好文回顾    面试笔试:面试笔试整理系列Java最显著的优势之一就是它的内存管理机制。你只需简单创建对象,然后Java垃圾回收机制便会小心的分配和释放内存。然而,事实并非如此简单,因为在Java应用程序中经常发生内存泄漏。本教程说明了什么是内存泄漏,为什么会发生,以及如何防止它...

2018-02-08 13:36:49 1735

转载 深入理解Java的接口和抽象类

点击上方“Java知音”,选择“置顶公众号”技术文章第一时间送达!对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然。今天我们就一起来学习一下Java中的接口和抽象类。下面是本文的目录大纲:  一.抽象类  二.接口  三.抽象类和接口...

2018-02-08 13:32:39 822

转载 浅谈Java中的equals和==

点击上方“Java知音”,选择“置顶公众号”技术文章第一时间送达!在初学Java时,可能会经常碰到下面的代码:String str1 = new String("hello");String str2 = new String("hello");       System.out.println(str1==str2);System.out.printl

2018-02-07 13:48:05 763

转载 浅谈Java中的hashcode方法

点击上方“Java知音”,选择“置顶公众号”技术文章第一时间送达!      哈希表这个数据结构想必大多数人都不陌生,而且在很多地方都会利用到hash表来提高查找效率。在Java的Object类中有一个方法:public native int hashCode();      根据这个方法的声明可知,该方法返回一个int类型的数值,并且是

2018-02-07 13:45:33 712

转载 Java垃圾回收机制

点击上方“Java知音”,选择“置顶公众号”技术文章第一时间送达!说到垃圾回收(Garbage Collection,GC),很多人就会自然而然地把它和Java联系起来。在Java中,程序员不需要去关心内存动态分配和垃圾回收的问题,这一切都交给了JVM来处理。顾名思义,垃圾回收就是释放垃圾占用的空间,那么在Java中,什么样的对象会被认定为“垃圾”?那么当一些对

2018-02-07 13:43:31 778

转载 java字节流与字符流的区别

点击上方“Java知音”,选择“置顶公众号”技术文章第一时间送达!字节流与和字符流的使用非常相似,两者除了操作代码上的不同之外,是否还有其他的不同呢?实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了缓冲区,通过缓冲区再操作文件。下面以两个写文件的操作为主进行比较,但是在操作时字节流和字符

2018-02-07 13:37:27 760

转载 Java:类与继承

点击上方“Java知音”,选择“置顶公众号”技术文章第一时间送达!对于面向对象的程序设计语言来说,类毫无疑问是其最重要的基础。抽象、封装、继承、多态这四大特性都离不开类,只有存在类,才能体现面向对象编程的特点,今天我们就来了解一些类与继承的相关知识。首先,我们讲述一下与类的初始化相关的东西,然后再从几个方面阐述继承这一大特性。以下是本文的目录大纲:  一.你了解

2018-02-07 13:34:48 750

转载 Java 如何有效地避免OOM:善于利用软引用和弱引用

点击上方“Java知音”,选择“置顶公众号”技术文章第一时间送达!想必很多朋友对OOM(OutOfMemory)这个错误不会陌生,而当遇到这种错误如何有效地解决这个问题呢?今天我们就来说一下如何利用软引用和弱引用来有效地解决程序中出现的OOM问题。下面是本文的目录大纲:  一.了解 强引用、软引用、弱引用、虚引用的概念  二.进一步理解软引用和弱引用

2018-02-07 13:20:25 729

转载 详解java类的生命周期

点击上方“Java知音”,选择“置顶公众号”技术文章第一时间送达!点击这里,加入微信技术学习群,共同学习!本文的作者是:愤怒的韭菜引言        最近有位细心的朋友在阅读笔者的文章时,对java类的生命周期问题有一些疑惑,笔者打开百度搜了一下相关的问题,看到网上的资料很少有把这个问题讲明白的,主要是因为目前国内java方面的教材大

2018-02-07 13:17:49 815

转载 JAVA多线程和并发基础面试问答

点击上方“Java知音”,选择“置顶公众号”技术文章第一时间送达!多线程和并发问题是Java技术面试中面试官比较喜欢问的问题之一。在这里,从面试的角度列出了大部分重要的问题,但是你仍然应该牢固的掌握Java多线程基础知识来对应日后碰到的问题。(校对注:非常赞同这个观点)Java多线程面试问题1. 进程和线程之间有什么不同?

2018-02-07 13:15:13 1213 2

转载 Java反射最佳实践

点击上方“Java知音”,选择“置顶公众号”技术文章第一时间送达!本文的作者是:@天之界线2010,欢迎点击阅读原文概要:最简单优雅的使用反射。本文的例子都可以在示例代码中看到并下载,如果喜欢请star,如果觉得有纰漏请提交issue,如果你有更好的点子可以提交pull request。本文的示例代码主要是基于jOOR行编写的,如果想

2018-02-07 13:12:24 760

转载 二叉树的非递归遍历

二叉树是一种非常重要的数据结构,很多其它数据结构都是基于二叉树的基础演变而来的。对于二叉树,有前序、中序以及后序三种遍历方法。因为树的定义本身就是递归定义,因此采用递归的方法去实现树的三种遍历不仅容易理解而且代码很简洁。而对于树的遍历若采用非递归的方法,就要采用栈去模拟实现。在三种遍历中,前序和中序遍历的非递归算法都很容易实现,非递归后序遍历实现起来相对来说要难一点。一.前序遍

2018-02-07 13:09:45 644

空空如也

空空如也

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

TA关注的人

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