java
方志朋
生命不息,奋斗不止
展开
-
当Java遇见了Html--Servlet篇
一、什么是servletservlet是在服务器上运行的小程序。一个servlet就是一个 java类,并且通过“请求-响应”编程模型来访问的这个驻留在服务器内存里的程序。继承关系:servlet(interface)->init(),service(),destroy();^genericServlet(abstract class)->与协议无关^httpServlet(abstract原创 2016-12-18 21:49:52 · 24842 阅读 · 0 评论 -
关于Java的反射机制,你需要理解这些..
反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。【翻译于 官方文档】本篇将从以下几个方面讲述反射的知识:calss的使用方法的反射构造函数的反射成员变量的反射一、什么是class类在面向对象的世界里,万物皆对象。类是对象,类是java.l原创 2016-12-18 21:53:51 · 31872 阅读 · 6 评论 -
一篇SSM框架整合友好的文章(一)
最近公司实行996,实在太忙,之前写的《rxjava系列文章》告一段落,还有两篇会在一月中旬补上,感谢大家这系列文章将讲述如何搭建后端框架ssm,这篇文章讲述mybatis搭建DAO层原创 2016-12-18 21:47:29 · 26330 阅读 · 1 评论 -
Java 代理模式
什么是代理代理是一种设计模式,它的核心思想,是将对目标的访问转移到代理对象上。这样做的好处就是,目标对象在不改变代码的情况下,可以通过代理对象加一些额外的功能。这是一种编程思想,在不改变原有代码的情况下,通过代理增加一些扩展功能。代理过程如图所示,用户访问代理对象,代理对象通过访问目标对象,来达到用户访问目标对象的目的,代理模式包含一下三个角色:ISubject:接口对象,该接口是对象和它的代理共原创 2017-09-25 09:00:40 · 46434 阅读 · 1 评论 -
Java注解详解
在使用SpringBoot作为Web敏捷开发的框架之后,SpringBoot除了自动装配配置的便捷之外,在很多时候需要基于注解来开发。注解不仅增加了代码的可读性,还增加了开发的速度。这篇文章主要讲述Java 注解。元注解元注解用于注解其他注解的。Java 5.0定义了4个标准的元注解,如下:@Target@Retention@DocumentedInherited现在来说说这四个元注解有什原创 2017-09-19 09:15:39 · 48272 阅读 · 0 评论 -
Controller类的方法上的RequestMapping一定要写在Controller类里吗?
转载请标明出处: https://blog.csdn.net/forezp/article/details/80069961 本文出自方志朋的博客使用Spring Cloud做项目的同学会使用Feign这个组件进行远程服务的调用,Feign这个组件采用模板的方式,有着优雅的代码书写规范。核心原理对Feign等相关注解进行解析,并提取信息,在Spring Boot工程启动时...原创 2018-04-24 20:18:27 · 49115 阅读 · 12 评论 -
优雅的使用 ThreadLocal
转载于公众号 码匠笔记前言在我们日常 Web 开发中难免遇到需要把一个参数层层的传递到最内层,然后中间层根本不需要使用这个参数,或者是仅仅在特定的工具类中使用,这样我们完全没有必要在每一个方法里面都传递这样一个 通用的参数。如果有一个办法能够在任何一个类里面想用的时候直接拿来使用就太好了。 Java的 Web项目大部分都是基于 Tomcat,每次访问都是一个新的线程,这样让我们联...转载 2019-02-27 14:53:36 · 17637 阅读 · 0 评论 -
详解JVM内存管理与垃圾回收机制1 - 内存管理
Java应用程序是运行在JVM上的,得益于JVM的内存管理和垃圾收集机制,开发人员的效率得到了显著提升,也不容易出现内存溢出和泄漏问题。但正是因为开发人员把内存的控制权交给了JVM,一旦出现内存方面的问题,如果不了解JVM的工作原理,将很难排查错误。本文将从理论角度介绍虚拟机的内存管理和垃圾回收机制,算是入门级的文章,希望对大家的日常开发有所助益。一、内存管理也许大家都有过这样的经历,在启动时...转载 2019-02-27 14:52:33 · 16712 阅读 · 0 评论 -
详解JVM内存管理与垃圾回收机制2 - 何为垃圾
随着编程语言的发展,GC的功能不断增强,性能也不断提高,作为语言背后的无名英雄,GC离我们的工作似乎越来越远。作为Java程序员,对这一点也许会有更深的体会,我们不需要了解太多与GC相关的知识,就能很好的完成工作。那还有必要深入了解GC吗?学习GC的意义在哪儿?不管性能提高到何种程度,GC都需要花费一定的时间,对于实时性要求较高的场景,就必须尽量压低GC导致的最大暂停时间 (GC会导致应用线程处...转载 2019-02-27 14:52:20 · 14287 阅读 · 0 评论 -
一个故事讲清楚NIO
本文为转载文章,原文链接:http://www.cnblogs.com/LBSer/p/4622749.html假设某银行只有10个职员。该银行的业务流程分为以下4个步骤:1) 顾客填申请表(5分钟);2) 职员审核(1分钟);3) 职员叫保安去金库取钱(3分钟);4) 职员打印票据,并将钱和票据返回给顾客(1分钟)。 我们看看银行不同的工作方式对其工作效率到底有何影...转载 2019-02-27 10:25:06 · 12229 阅读 · 0 评论 -
JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof使用详解
本文为转载文章,原文链接:https://my.oschina.net/feichexia/blog/196575现实企业级Java应用开发、维护中,有时候我们会碰到下面这些问题: OutOfMemoryError,内存不足 内存泄露 线程死锁 锁争用(Lock Contention) Java进程消耗CPU过高 ...... ...转载 2019-02-27 10:24:55 · 12864 阅读 · 1 评论 -
Java并发编程:线程封闭和ThreadLocal详解
转载请标明出处: http://blog.csdn.net/forezp/article/details/73017664 本文出自方志朋的博客什么是线程封闭当访问共享变量时,往往需要加锁来保证数据同步。一种避免使用同步的方式就是不共享数据。如果仅在单线程中访问数据,就不需要同步了。这种技术称为线程封闭。在Java语言中,提供了一些类库和机制来维护线程的封闭性,例如局部变量和Thre原创 2017-08-27 15:39:09 · 52494 阅读 · 3 评论 -
深入浅出工厂设计模式
工厂模式是我们最常用的实例化对象模式了,是用工厂方法代替new操作的一种模式。因为工厂模式就相当于创建实例对象的new,虽然这样做,可能多做一些工作,但会给你系统带来更大的可扩展性和尽量少的修改量。工厂模式最直接的作用就是将创建对象和对象的业务逻辑相分离。原创 2017-03-12 00:22:47 · 36441 阅读 · 1 评论 -
《阿里巴巴Java开发手册》阅读笔记
1.抽象类命名使用 Abstract 或 Base 开头; 异常类命名使用 Exception 结尾; 测试类命名以它要测试的类的名称开始,以 Test 结尾。2.POJO 类中布尔类型的变量,都不要加 is,否则部分框架解析会引起序列化错误。原创 2017-03-30 15:41:20 · 42350 阅读 · 1 评论 -
线程池和信号量
当我们需要执行一个异步任务时,通常会创建一个线程并启动它,通常任务执行完,线程会被回收,这的确很方便。但我们有大量的任务需要去执行,高并发的情况下,我们都需要不断的创建线程,创建线程和执行线程任务时非常耗费系统资源的,所以我们需要使用线程池,线程池很好的避免了这种情况,并且能很好的控制线程的执行。java中的主要是ThreadPoolExecutor这个类,具体的可以参考下海子的博客public原创 2016-10-09 21:44:17 · 22678 阅读 · 0 评论 -
常见的安全算法
本文整理了常见的安全算法,包括MD5、SHA、DES、AES、RSA等,并写了完整的工具类(Java 版),工具类包含测试。一、数字摘要算法 数字摘要也称为消息摘要,它是一个唯一对应一个消息或文本的固定长度的值,它由一个单向Hash函数对消息进行计算而产生。如果消息在传递的途中改变了,接收者通过对收到消息采用相同的Hash重新计算,新产生的摘要与原摘要进行比较,就可知道消息是否被篡改了,因此消息原创 2017-03-28 10:00:36 · 41748 阅读 · 0 评论 -
Spring详解篇之 AOP面向切面编程
一、概述Aop(aspect oriented programming面向切面编程),是spring框架的另一个特征。AOP包括切面、连接点、通知(advice)、切入点(pointCut) 。1.aop几个概念:横切关注点: 对哪些方面进行拦截,拦截后怎么处理。切面(aspect):切面是横切关注点的抽象。连接点(joinpoint):被拦截的方法切入点(pointcut):对连接点进行拦原创 2017-03-12 00:21:42 · 36185 阅读 · 0 评论 -
Filter,一种aop编程思想的体现
一、filter简介filter是Servlet规范里的一个高级特性,只用于对request、response的进行修改。filter提出了FilterChain的概念,客户端请求request在抵达servlet之前都会经过filterChain里的所有fiter,如图所示:二、filter的生命周期在web.xml中配置filter,当启动服务器时会实例化,并且会初始化,当有网络请求时会进行过滤原创 2016-12-18 21:52:24 · 29384 阅读 · 1 评论 -
当Java遇见了Html--Jsp九大内置对象篇
jsp内置对象对象是web容器创建的一组对象,不使用new关键词久可以使用的内置对象。 九大内置对象包括以下:out –JspWriterrequest –ServletRequestreponse –ServletResponseconfig –ServletConfigsession –HttpSessionapplication –ServlerContextpage –Ht原创 2016-12-18 21:51:04 · 25193 阅读 · 0 评论 -
当Java遇见了Html--Jsp详解篇
一、什么是Jspjsp是一种基于文本的程序,全名java server page,其特点是html和java程序共存。执行时jsp会被运行容器编译,编译后的jsp跟servlet一样,因此jsp是另一种形式的servlet。二、jsp页面组成jsp 页面包括以下内容:静态内容 指令表达式小脚本声明注释1.指令:page指令: 通常位于jsp页面的顶端,同一个页面可以有多个page指原创 2016-12-18 21:51:49 · 24284 阅读 · 0 评论 -
一篇SSM框架整合友好的文章(三)
一.SpringMVC理论 它始终是围绕 handler、 数据模型 model、 页面view进行开发的。运行流程图:通过mvc配置文件,配置“中央处理器”dispatchservlet,当用户请求一个url,dispatchservlet通过handlerMapping(通过注解的形式)将url给对应的handleradapter,handleradapter的具体业务逻辑是c原创 2016-12-18 21:48:53 · 24826 阅读 · 0 评论 -
一篇SSM框架整合友好的文章(二)
上一篇讲述了DAO 层,mybatis实现数据库的连接,DAO层接口设计,以及mybtis和spring的整合。DAO层采用接口设计方式实现,接口和SQL实现的分离,方便维护。DAO层所负责的仅仅是接口的设计和实现,而负责的逻辑即一个或多个DAO层接口的拼接是在Sevice层中完成。这篇文章接上篇文章,主要讲述Service层的实现、和Spring的整合以及声明如何声明事物。一、Service层接口原创 2016-12-18 21:48:07 · 25122 阅读 · 2 评论 -
Mybatis学习的一些细节
一.mybatis 基本配置最近几天一直在学习mybatis,看了一些源码,本文讲述mybatis的一些基本配置和基本的用法和注意到一些细节。个人时间和精力有限,本文属于流水账类型,不成体系,算是自己的个人笔记吧原创 2017-03-12 00:20:07 · 30747 阅读 · 1 评论 -
Spring详解篇之IoC控制反转
一.Spring概况spring是一个开源框架是一个轻量的控制反转和面向切面的容器框架大小和开销都是轻量的。通过控制反转技术可以达到松耦合的目的切面编程,允许通过分离应用的业务逻辑。包含并管理应用对象的配置和生命周期,是一个容器,并且能够组装。二、IoCioc控制反转:控制权转移,应用程序本身不负责依赖对象的创建和维护,而是由外部容器负责和维护。ioc的目的是创建对象并且组装对象之间的原创 2017-03-12 00:21:18 · 31098 阅读 · 0 评论 -
我是如何根据豆瓣api来理解Restful API设计的
1.什么是RESTREST全称是Representational State Transfer,表述状态转移的意思。它是在Roy Fielding博士论文首次提出。REST本身没有创造新的技术、组件或服务,它的理念就是在现有的技术之上,更好的使用现有的 web规范。用REST规范的web服务器,能够更好的展现资源,客户端能够更好的使用资源。每个资源都由URI/ID标识。REST本身跟http无关,但原创 2017-03-28 10:01:25 · 43563 阅读 · 1 评论 -
Java面试BAT通关手册
转载请标明出处: https://blog.csdn.net/forezp/article/details/88823244 手机端可以关注微信公众号号查看: 2019-07-14数据库:数据库连接池原理详解与自定义连接池实现 2019-07-14数据库:数据库索引的类型 2019-07-14数据库:数据库索引优化 2019-07-13数据库...原创 2019-03-26 16:17:17 · 25353 阅读 · 16 评论