关闭
当前搜索:

[置顶] REST风格框架实战:从MVC到前后端分离(附完整Demo)

本人在前辈《从MVC到前后端分离(REST-个人也认为是目前比较流行和比较好的方式)》一文的基础上,实现了一个基于Spring的符合REST风格的完整Demo,具有MVC分层结构并实现前后端分离,该项目体现了一个具有REST风格项目的基本特征,即具有统一响应结构、 前后台数据流转机制(HTTP消息与Java对象的互相转化机制)、统一的异常处理机制、参数验证机制、Cors跨域请求机制以及鉴权机制,并分享该项目完整源码。...
阅读(6393) 评论(14)

[置顶] Spring MVC 简述:从MVC框架普遍关注的问题说起

任何一个完备的MVC框架都需要解决Web开发过程中的一些共性的问题,比如请求的收集与分发、数据前后台流转与转换,当前最流行的SpringMVC和Struts2也不例外。本文首先概述MVC模式的分层思想与MVC框架普遍关注的问题,并以此为契机结合SpringMVC的入门级案例简要地从原理、架构角度介绍了它对这些问题的处理。最后,本文对SpringMVC和Struts2作了进一步对比,以便加强对MVC框架的理解与认知。...
阅读(2673) 评论(10)

[置顶] 要怎样努力,才能成为很厉害的人?

长大以后,感觉热血是一件很难得的事情。 热血不是无知及其附属品无畏,而是一种本心的坚韧与坚持,即使生活不尽如人意也即使花前月下良田万顷。总是能与世界好好相处,却不随波逐流,也不锋芒毕露。只是平凡中一员,却有血有肉有原则有初心有思想,内心似火却看起来风平浪静。这个故事确实让我陷入思考,鞭策自己,久久不能平静,遂与众分享。...
阅读(1080) 评论(2)

[置顶] Map 综述(三):彻头彻尾理解 ConcurrentHashMap

ConcurrentHashMap是J.U.C的重要成员,它是HashMap的一个线程安全的版本。在默认理想状态下,ConcurrentHashMap可以支持16个线程执行并发写操作及任意数量线程的读操作。本文将结合Java内存模型和JDK源代码,剖析其高并发的具体实现机制,包括在JDK中的定义和结构、并发存取、重哈希和跨段操作,并着重剖析了ConcurrentHashMap读操作不需要加锁的内在奥秘和原理。...
阅读(4767) 评论(9)

[置顶] 深入理解Java对象的创建过程:类的初始化与实例化

在Java中,一个对象在可以被使用之前必须要被正确地初始化,这一点是Java规范规定的。在实例化一个对象时,JVM首先会检查相关类型是否已经加载并初始化,如果没有,则JVM立即进行加载并调用类构造器完成类的初始化。在类初始化过程中或初始化完毕后,根据具体情况才会去对类进行实例化。本文试图对JVM执行类初始化和实例化的过程做一个详细深入地介绍,以便从Java虚拟机的角度清晰解剖一个Java对象的创建过程。...
阅读(7917) 评论(9)

[置顶] 算法设计方法:递归的内涵与经典应用

大师说:To Iterate is Human, to Recurse, Divine.毋庸置疑地,递归确实是一个奇妙的思维方式。对一些简单的递归问题,我们总是惊叹于递归描述问题和编写代码的简洁,但要想真正领悟递归的精髓、灵活地运用递归思想来解决问题却并不是一件容易的事情。本文剖析了递归的思想内涵并分析了阶乘、斐波那契数列、汉诺塔、杨辉三角的存取、字符串回文判断、字符串全排列、二分查找、树的深度求解等八个问题。...
阅读(3203) 评论(0)

[置顶] JVM 内存模型概述

Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域,这些数据区域都有各自的用途,以及创建和销毁的时间,并且它们可以分为两种类型:线程共享的方法区和堆,线程私有的虚拟机栈、本地方法栈和程序计数器。在此基础上,我们探讨了在虚拟机中对象的创建和对象的访问定位等问题,并分析了Java虚拟机规范中异常产生的情况。...
阅读(11652) 评论(12)

[置顶] 简述数据库事务并发机制

事务是最小的逻辑执行单元,也是数据库并发控制的基本单位,其执行的结果必须使数据库从一种一致性状态变到另一种一致性状态。事务具有四个重要特征,即原子性、一致性、隔离性和持久性。本文首先叙述了数据库中事务的本质及其四大特性(ACID)的内涵,然后重点介绍了事务隔离性的动机和内涵,并介绍了事务隔离级别及其内涵。特别地,介于并发安全与效率的平衡,我们一般会结合事务隔离级别和乐观锁/悲观锁机制来保证事务并发安全性。...
阅读(2959) 评论(6)

[置顶] 彻头彻尾理解单例模式与多线程

本文概述了单例模式产生动机,揭示了单例模式的本质和应用场景。然后我们给出了单例模式在单线程环境下的两种经典实现:饿汉式和懒汉式,但是饿汉式是线程安全的,而懒汉式是非线程安全的。在多线程环境下,我们特别介绍了五种方式来在多线程环境下创建线程安全的单例,使用synchronized方法、synchronized块、静态内部类、双重检查和ThreadLocal实现懒汉式单例,并给出实现效率高且线程安全的单例所需要注意的事项...
阅读(4356) 评论(13)

[置顶] Java 并发:并发背景

并发与操作系统的生命历程息息相关。进程的出现,使得程序状态的保存变为现实,为进程间的切换提供了可能,实现了操作系统的并发,大大提高资源利用率。之后,人们对实时性又有了更高的要求。由于一个进程由若干个子任务组成,所以人们就发明了线程,让每个线程负责一个独立的子任务,提高了程序的响应灵敏度,但同时也带来了诸如安全性、活跃性和性能等问题。总的来说,进程让操作系统的并发性成为可能,而线程让进程的内部并发成为可能。...
阅读(6387) 评论(13)

策略模式:封装变化与面向接口编程

在使用Java的集合框架中,经常需要通过构造方法传入一个比较器Comparator或者创建比较器传入Collections的静态方法中作为方法参数,进行比较排序等,这其实就是策略模式的应用。策略模式是封装变化和面向接口编程两个基本的面向对象设计思想具体应用,其用意是针对一组算法,将每个算法封装到具有共同接口的独立的类中,从而使得它们可以灵活替换,使程序具有良好可扩展性。策略模式的灵魂就是策略算法是相同行为的不同实现。...
阅读(106) 评论(0)

面试/笔试第五弹 —— Java面试问题集锦(下篇)

本文对面试过程中经常会被问到的一些关于Java基础问题进行了梳理和总结,包括 JVM虚拟机、常用容器、设计原则与模式以及Java语言特性等基础知识点,一方面方便自己温故知新,另一方面也希望为找工作的同学们提供一个复习参考。考虑到篇幅太长,现将 《Java面试问题集锦》 一文分为上下两篇:《面试/笔试第五弹 —— Java面试问题集锦(上篇)》和《面试/笔试第五弹 —— Java面试问题集锦(下篇)》。...
阅读(398) 评论(3)

面试/笔试第五弹 —— Java面试问题集锦(上篇)

本文对面试过程中经常会被问到的一些关于Java基础问题进行了梳理和总结,包括 JVM虚拟机、常用容器、设计原则与模式以及Java语言特性等基础知识点,一方面方便自己温故知新,另一方面也希望为找工作的同学们提供一个复习参考。考虑到篇幅太长,现将 《Java面试问题集锦》 一文分为上下两篇:《面试/笔试第五弹 —— Java面试问题集锦(上篇)》和《面试/笔试第五弹 —— Java面试问题集锦(下篇)》。...
阅读(451) 评论(4)

Ubuntn系统(虚拟机)忘记密码的解决方法

本文给出了Ubuntn系统或Ubuntu虚拟机忘记密码的解决方法。...
阅读(107) 评论(0)

白话解析:一致性哈希算法 consistent hashing

本文首先以一个经典的分布式缓存的应用场景为铺垫,在了解了这个应用场景之后,生动而又不失风趣地介绍了一致性哈希算法,同时也明确给出了一致性哈希算法的优点、存在的问题及其解决办法。...
阅读(491) 评论(0)

面试/笔试第四弹 —— 多线程面试问题集锦

本文对面试/笔试过程中经常会被问到的一些关于并发编程的问题进行了梳理和总结,包括线程池、并发控制锁、并发容器和队列同步器等基础知识点,一方面方便自己温故知新,另一方面也希望为找工作的同学们提供一个复习参考。关于这块内容的初步了解和掌握,大家可以阅读《Java并发编程的艺术》、《《Java多线程编程核心技术》和《Java并发编程实战》三本书,重点掌握J.U.C并发框架。...
阅读(3465) 评论(4)

Mysql在大型网站的应用架构演变

本文主要描述在网站的不同的并发访问量级下Mysql架构的演变历程。架构的可扩展性往往和并发是息息相关,没有并发的增长也就没必要做高可扩展性的架构。常用的扩展手段主要有Scale-up和Scale-out两种,前者为纵向扩展,主要通过替换为更好的机器和资源来实现伸缩,提升服务能力;后者为横向扩展,通过加节点(机器)来实现伸缩,提升服务能力。而对于互联网的高并发应用来说,Scale-out才是真正得出路。...
阅读(453) 评论(0)

面试/笔试第三弹 —— 数据库面试问题集锦

本文对面试/笔试过程中经常会被问到的一些关于数据库(MySQL)的问题进行了梳理和总结,包括数据库索引、数据库锁、数据库事务和MySQL优化等基础知识点,一方面方便自己温故知新,另一方面也希望为找工作的同学们提供一个复习参考。关于这块内容的初步了解和掌握,大家可以阅读《深入浅出MySQL-数据库开发优化与管理》和《数据库系统概念(美 Abraham Silbersch 著;杨冬青 李红燕 唐世 译)》两本书。...
阅读(532) 评论(0)

面试/笔试第二弹 —— 操作系统面试问题集锦

本文对面试/笔试过程中经常会被问到的一些关于操作系统的问题进行了梳理和总结,一方面方便自己温故知新,另一方面也希望为找工作的同学们提供一个复习参考。关于这块内容的初步了解和整体掌握,建议大家读一读《操作系统概念》(高教版)一书。...
阅读(631) 评论(0)

面试/笔试第一弹 —— 计算机网络面试问题集锦

本文对面试/笔试过程中经常会被问到的一些关于计算机网络的问题进行了梳理和总结,一方面方便自己温故知新,另一方面也希望为找工作的同学们提供一个复习参考。关于这块内容的初步了解和掌握,建议大家读一读《图解HTTP》一书。...
阅读(704) 评论(2)

优雅地创建复杂对象 —— Builder 模式

当我们需要创建一个复杂的对象时,使用静态工厂或者构造器的方式就显得特别笨拙和丑陋,因为它们有个共同的局限性:它们都不能很好地扩展到大量的可选参数,也就是说,灵活性很差。那么,对于这样的类,我们应该如何创建对象呢?本文列举了三种解决办法:重叠构造器模式、JavaBeans模式和Builder模式,并通过具体实例对上述三种方法进行铺垫和对比,从而真正帮助读者理解Builder模式。...
阅读(3646) 评论(28)

Java web Filter, Strurs2 Interceptor 和 SpringMVC Interceptor 三者之间的联系与区别

无论是Filter、Strurs2 Interceptor还是SpringMVC Interceptor,它们都是AOP理念的实现,本文结合源码详细解剖了三者在具体实现上的异同。...
阅读(1099) 评论(0)

过滤器(Filter)和拦截器(Interceptor)的区别

本文介绍主要介绍了Java Web Filter 与 Struts2 Interceptor 及其之间的联系与区别。...
阅读(1112) 评论(1)

简述Spring容器与SpringMVC的容器的联系与区别

在Spring整体框架的核心概念中,容器的核心思想是管理Bean的整个生命周期。但在一个项目中,Spring容器往往不止一个,最常见的场景就是在一个项目中引入Spring和SpringMVC这两个框架,其本质就是两个容器:Spring是根容器,SpringMVC是其子容器。关于这两个容器的创建、联系及区别也正是本文所关注的问题。...
阅读(3900) 评论(15)

Java代理模式及其应用

代理根据代理类的产生方式和时机分为静态代理和动态代理两种。代理类不仅可以有效的将具体的实现与调用方进行解耦,通过面向接口进行编码完全将具体的实现隐藏在内部,而且还可以在符合开闭原则的前提下,对目标类进行进一步的增强。典型地,Spring AOP 是对JDK动态代理的经典应用。...
阅读(801) 评论(3)

Spring 事务管理机制概述

用户的每次请求都对应一个业务逻辑方法,而一个业务逻辑方法往往包括一系列数据库原子访问操作,并且这些操作应绑定成一个事务来执行。使用传统事务编程策略时,程序代码必然和具体的事务操作代码耦合,而Spring事务管理策略可以避免这种尴尬。Spring提供了两种事务管理方式:编程式事务管理和声明式事务管理,本文在对Spring事务管理API分析的基础上,详细地阐述了Spring编程式事务管理和声明式事务管理的原理、本质和使用...
阅读(2418) 评论(4)

理解RESTful架构

越来越多的人开始意识到,网站即软件,而且是一种新型的软件。但是传统上,软件和网络是两个不同的领域,很少有交集;软件开发主要针对单机环境,网络则主要研究系统之间的通信。互联网的兴起,使得这两个领域开始融合,而RESTful架构就是目前最流行的一种互联网软件架构。...
阅读(1323) 评论(0)

Spring 核心技术概览(一)

Spring是一个分层的Java SE/EE应用一站式的轻量级开源框架,其从持久层、业务层到表现层都拥有相应的支持,几乎为企业应用提供了所需的一切。本文首先概述了Spring容器的IoC控制反转和DI依赖注入两大概念,然后详述了Spring的IoC容器BeanFactory、Spring容器ApplicationContext和Spring的Web容器WebApplicationContext,并介绍了三者的异同。...
阅读(1583) 评论(2)

Map 综述(四):彻头彻尾理解 HashTable

Hashtable与HashMap都是Map族中较为常用的实现,也都是Java Collection Framework 的重要成员,它们的本质都是链表数组。本文深入JDK源码并从定义、构造、结构、存取等四个方面深入解读了Hashtable的底层结构与存储逻辑,并阐述了HashMap、Hashtable与ConcurrentHashMap三者间的联系与区别。...
阅读(2207) 评论(2)
88条 共5页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:239001次
    • 积分:3726
    • 等级:
    • 排名:第9810名
    • 原创:66篇
    • 转载:22篇
    • 译文:0篇
    • 评论:550条
    Notice & Contacts
    如果我的博文中存在错误或者您不认同的地方,欢迎通过评论或下面的 Emial/QQ 与我讨论、交流,拜谢!

    QQ : 1277521332

    Please email me:

    博客专栏
    最新评论