- 博客(134)
- 资源 (1)
- 收藏
- 关注
原创 Java-利用反射访问类的私有(private)属性及方法&private的意义
Java,在一个类中,为了不让外界访问到某些属性和方法,通常将其设置为private,用正常的方式(对象名.属性名,对象名.方法名)将无法访问此属性与方法,但有没有其他方法可以访问呢?答案是有的,这就是java反射带来的便利。利用反射访问类的私有属性及方法如下:/** * @Description: 反射 * @author: Mr_VanGogh * @date: 2019/2/20...
2019-02-25 20:01:40 14300 1
转载 集群/分布式环境下,Session处理策略
前言 在搭建完集群环境后,不得不考虑的一个问题就是用户访问产生的session如何处理。如果不做任何处理的话,用户将出现频繁登录的现象。比如集中中存在A、B两台服务器,用户在第一次访问网站是,Nginx通过其负载均衡机制将用户请求转发到A服务器,这时A服务器就会给用户创建一个Session。当用户第二次发送请求时,Nginx将其负载均衡到B服务器,而这时候B服务器并不存在Ses
2017-02-23 14:00:36 2514 4
原创 单点登录——实现原理
单点登录,Single Sign On,也就是我们平时所说的SSO。一般大型的系统平台,都会用到这个东西。它解决了频繁登录、验证的过程,也就是用户的一次登录得到其他系统的信任。可以说:一次登录,全站漫游。实现单点登录,说简单一些,就是解决如何产生和存储那个信任,再就是其他系统如何验证这个信任的有效性。因此,也就需要解决以下两点:1、存储信任2、验证信任只要解决了上述两个问题,其实也
2017-02-21 15:45:12 5010 2
转载 【Spring】——AOP实现原理(基于JDK和CGLIB)
1、Spring内部创建代理对象的过程2、Spring AOP的核心---ProxyFactoryBean3、基于JDK面向接口的动态代理JdkDynamicAopProxy生成代理对象4、基于Cglib子类继承方式的动态代理CglibAopProxy生成代理对象5、各种Advice是的执行顺序是如何和方法调用进行结合的?6、PointCut与Advice的结合------Adivce的条件执行
2016-09-12 11:10:03 2567 2
转载 【Spring】——AOP设计基本原理
0、前言Spring 提供了AOP(Aspect Oriented Programming) 的支持, 那么,什么是AOP呢?本文将通过一个另外一个角度来诠释AOP的概念,帮助你更好地理解和使用Spring AOP。读完本文,你将了解到:1. Java程序运行在JVM中的特征2. Java程序的执行流【了解AOP、连接点(Join Point)、切入
2016-09-06 16:27:21 767 3
原创 【SpringAOP】——JDK动态代理
Spring的动态代理有两种:一是JDK的动态代理(需要提供接口);另一个是cglib动态代理(通过修改字节码来实现代理)。大部分情况下,一般使用JDK动态代理,因为JDK动态代理的速度要比CGLIB要快,在SpringAOP中,如果一个Bean有接口声明,那么Spring就会使用JDK动态代理代理它,否则启用CGLIB。今天咱们主要讨论JDK动态代理的方式。JDK的代理方式主要就是通过反射跟动态
2016-09-06 15:40:27 2078 3
原创 【Java】——Java反射
学习SpringAOP,看了一些书和网上的课程,基本上都是从什么切点、切面、连接点等来论述AOP的应用,感觉一开始面对这些,不是怎么好理解。要想全面的理解AOP,笔者认为,从其底层的实现原理——动态代理和反射,来介绍,会更加清晰明确,也会更加简单一些。废话不多说,直接先看一个反射的Demopackage com.spring.aop.reflect; import jav
2016-09-06 10:53:50 867 3
原创 【Java基础】——HashMap设计原理&实现分析
本文主要从源码角度来解析HashMap的设计思路,并且详细地阐述HashMap中的几个概念,并深入探讨HashMap的内部结构和实现细节,讨论HashMap的性能问题,并且在文中贯穿着一些关于HashMap常见问题的讨论。
2016-09-03 20:35:50 1854 4
原创 【Java基础】——集合
在编程中,常常需要集中存放多个数据。从传统意义上讲,数组是我们的一个很好的选择,前提是我们事先已经明确知道我们将要保存的对象的数量。一旦在数组初始化时指定了这个数组长度,这个数组长度就是不可变的,如果我们需要保存一个可以动态增长的数据(在编译时无法确定具体的数量),java的集合类就是一个很好的设计方案了。 集合类主要负责保存、盛装其他数据,因此集合类也被称为容器类。所以的集合类都
2016-08-31 19:27:17 542 3
原创 Could not resolve placeholder 'jdbc.url' in string value "${jdbc.url}"
报错信息:严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListenerorg.springframework.beans.factory.BeanDefinitionStoreExceptio
2016-08-12 23:11:43 44804 7
原创 cvc-elt.1: Cannot find the declaration of element 'beans'.
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p" xmlns:aop="http://www.sprin
2016-08-08 22:50:46 1302 1
原创 JavaScript——获取网页屏幕可见区域高度
前两天,组长让我封装一个公用的弹出框。本身弹出框很容易搞定,但是,由于弹出框需要在系统中的各个页面使用,但是不同页面的高度不相同,弹出框的位置,就成了一个让人头痛的问题。
2016-08-01 14:21:12 1447 2
原创 java.lang.ClassNotFoundException与java.lang.NoClassDefFoundError的区别
以前一直没有注意过这个问题,前两天机缘巧合上网查了一下,然后自己测试验证了一下。虽然网上说法很多,但是关于NoClassDefFoundError并没有给出一个样例,所以一直无法理解,索性自己验证了一下,收获还不少。 ClassNotFoundException ClassNotFoundException这个错误,比较常见也好理解。 原因:就是找不到指定的class。
2016-07-31 22:43:45 819 1
原创 列表操作
最近在项目中,需要对列表进行操作进行上移&下移操作JSP ${name} ${description} 删除 修改 上移 下移 Action@Controller@Scope("prototype")
2016-07-30 11:09:47 822 2
原创 TypeError: 'stepUp' called on an object that does not implement interface HTMLInputElement
需求:前台需要传值到后台做校验var title = $("#title");这是上边需要传的值,然后JS报错:“TypeError: 'stepUp' called on an object that does not implement interface HTMLInputElement”。这个错误是因为前台传到后台的值中,值为object HTMLInputElement,但是
2016-07-20 17:28:31 11421 1
原创 Hibernate JdbcTemplate的queryForInt的些许问题
最近,在项目中,所做的模块中,一个特别简单的逻辑问题,搞完之后,控制台居然报错了。这可不是我所能容忍的,静下心来,返回去,好好看了看,这个Bug。重现一下Bug需求描述:前台需要上传一些文件,首先需要判断文件是否已经存在在数据库中。根据返回的值来判断,1代表存在,不添加;0代表不存在,可以添加。既然这样,感觉那就好办了,去数据库中查,有记录的话,肯定返回不是null。没
2016-07-20 12:35:20 2798 1
原创 【Echarts】——上手Demo
1、首先,新建一个echaets.html文件,为Echarts准备一个具备大小(宽高)的Dom。 ECharts 2、新建标签引入模块化单文件echarts.js ECharts 3、新建标签中为模块加载器配置echarts和所需图表的路径(相对路径为从当前页面链
2016-06-13 19:42:46 1214 2
原创 【ECharts】——First Look
ECharts(Enterprise Charts 商业产品图表库) 是基于Canvas的,纯Javascript的图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。创新的拖拽重计算、数据视图、值域漫游等特性大大增强了用户体验,赋予了用户对数据进行挖掘、整合的能力。
2016-06-01 21:48:19 636 3
原创 【MySQL】——发生系统错误2
最近项目的需要,重装系统后,需要安装MySQL数据库。根据上次的经验(MySQL—服务无法启动),一步一步的安装,但是到了最后,还是遇到了问题。启动MySQL服务的时候,提示“发生系统错误 2,系统找不到指定的文件”。 上次遇到这个问题的时候,已经找到方法解决了。但是这次,根据上次的经验,所有的方法都试了一遍,还是不行。最后,法宝(重启电脑)都用上了,还是不行。没有办法,还
2016-02-26 11:16:43 18215 22
原创 【Java学习笔记】——Filter
Filter可认为是Servlet的一种“加强版“,它主要用于对用户请求进行预处理,也可以对HttpServletResponse进行后处理,是个典型的处理链。Filter也可以对用户请求生成响应,这一点与Servlet相同,但实际上很少会使用Filter向用户请求生成响应。使用Filter完整的流程是:Filter对用户请求进行预处理,接着将请求交给Servlet进行处理并生成响应,最后Filter再对服务器响应进行后处理。
2016-01-19 21:35:22 754 8
原创 停下脚步
从知道到做到,是一次从脑到脚的旅行,也是一场一个人的战役。你需要了解自己、改变自己并战胜自己,才能成为最终的人生赢家。做一个知行合一的人,你能!
2016-01-17 10:22:53 765 15
原创 【Struts2基础】——登录Demo
我们实现了运用struts框架完成用户登录。就这样从初步学习到简单应用,随着应用的次数增多,我们会对struts理解越来越深刻,并且感受struts框架给我们带来的便捷。
2016-01-12 16:03:45 725 6
原创 【Struts2基础】——Struts1 & Struts2 区别
truts2是WebWork的升级,而不是Struts1.x的升级。虽然Struts2提供了与Struts1.x的兼容,但已经不是Struts1.x的升级。对于已有已有Struts1.x开发经验的开发者而言,Struts1.x的开发经验对于Struts2并没有太大的帮助;相反,对于已经有WebWork开发经验的开发者而言,WebWork的开发经验对Struts2的开发将有很好的借鉴意义。
2016-01-12 10:09:38 573 4
原创 【Struts2基础】——核心与工作原理
Struts2是Struts的下一代产品。实际上Struts1.x与Struts2并没有什么血缘关系,Struts2的体系结构与Struts1的体系结构差别巨大。Struts2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开。 Struts2是Struts社区和WebWork社区的共同成果,可以说Struts2是WebWork的升级版,它采用的是WebWork的核心。Struts2虽然面世晚,但并不能决定它是一款不成熟
2016-01-11 17:34:47 990 3
原创 【Struts】——简介 & 原理
truts是对JSPModel2设计标准的一种实现,下面分别从模型(Model)、视图(view)和控制器3个部分介绍Struts的体系结构和工作原理。
2016-01-11 15:58:30 2442 3
原创 【Java学习笔记】—— Servlet的转发与重定向
转发和重定向都能让浏览器获得另外一个URL所指向的资源,但是两者的内部运行机制有着很大的区别。
2016-01-06 17:22:54 788 4
原创 【Java学习笔记】——验证码
这篇文章简单的写了一个java验证码,为之前写过的springMVC注册功能加上验证码,验证码的作用就不多说了,防止机器人程序恶意注册什么的。。。
2015-12-31 17:35:53 623 8
原创 【Java学习笔记】——Statement & PrepareStatement
Statement与PrepareStatement的区别和联系
2015-12-26 12:59:09 1272 8
原创 【Java基础】——JDBC
JDBC——Java Data Base Connectivity,Java数据库连接,是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组类和接口组成。它跟应用程序和数据库的关系,如下图:JDBC为应用程序和数据库驱动之间提供了一组接口(规范),数据库驱动是实现数据库操作的类,根据JDBC规范来实现。
2015-12-20 19:07:48 825 7
原创 【Java基础】——HTML隐藏域
在最近的项目中,经常需要表单之间的传值。有时,我们不想用GET方法传,也不想显示这个唯一标识的时候,隐藏域就派上用场了。
2015-12-02 22:24:25 1557 8
原创 【MySQL】——服务无法启动
MySQL最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的RDBMS (Relational Database Management System,关系数据库管理系统)应用软件之一。
2015-11-29 15:24:35 1077 11
原创 工业4.0,我们该何去何从?
在我很小的时候看过一套叫做《漫游科学世界》的书,里面其中一册是机器人部分。当时那本书里对未来进行了诸多有趣的幻想,仿佛人类彻底告别体力劳动,一切靠机器生产,全局电脑控制的时代仿佛就在眼前。 工业4.0的出现将实现很多人类梦寐以求的幻想,设想你买了一套房子,然后房子的设计图马上就被传入你的电脑,你可以在电脑前按照自己的设想装修并置配家具,然后用不了多久,3D打印机器人就会进入你
2015-11-28 13:30:08 1168 6
原创 【Android】——开发过程中各个目录的意义
Android系统已经成为全球应用具有广泛影响力的手机操作系统,现在市面上的手机,Android阵营的占相当大的比例。对于IT人员来说,与时俱进是必备的素质,所以了解Android的知识也很有必要。
2015-11-13 20:43:14 2314 5
原创 【数据结构与算法】——基数排序
基数排序基本思想:它是一种非比较排序。它是根据位的高低进行排序的,也就是先按个位排序,然后依据十位排序……以此类推。时间复杂度:分配需要O(n),收集为O(r),其中r为分配后链表的个数,以r=10为例,则有0~9这样10个链表来将原来的序列分类。而d,也就是位数(如最大的数是1234,位数是4,则d=4),即"分配-收集"的趟数。因此时间复杂度为O(d*(n+r))。空间复杂
2015-10-31 18:49:16 1453 3
原创 【数据结构与算法】——归并排序
归并排序基本思想:归并(Merge)排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。
2015-10-30 13:36:12 541 7
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人