自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(77)
  • 收藏
  • 关注

原创 单点登录之CAS原理和实现

1.开源单点登录系统CAS入门1.1 什么是单点登录单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。我们目前的系统存在诸多子系统,而这些子系统是分别部署在不同的服务器中,那么使用传统方式的session是无法解决的,我们需要使用相关的单点登录技术来解决。...

2018-11-02 20:33:19 249

原创 【Nginx】什么是Nginx?为什么使用Nginx?

一、前言 为毛要用nginx服务器代理,不直接用tomcat 7.0,还做多了一次接请求? 这个是我想问的,公司的新项目是要用Nginx+tomcat7+jdk开发的,用户命名可以直接访问tomcat,为啥还要用Nginx?这货是个啥玩意?二、为什么使用Nginx? 在传统的Web项目中,并发量小,用户使用的少。所以在低并发的情况下,用户可以直接访问tomcat服务器,然后tom...

2018-11-01 21:01:03 240

原创 什么是单点登录?单点登录的三种实现方式

单点登录SSO(Single Sign On)说得简单点就是在一个多系统共存的环境下,用户在一处登录后,就不用在其他系统中登录,也就是用户的一次登录能得到其他所有系统的信任。单点登录在大型网站里使用得非常频繁,例如像阿里巴巴这样的网站,在网站的背后是成百上千的子系统,用户一次操作或交易可能涉及到几十个子系统的协作,如果每个子系统都需要用户认证,不仅用户会疯掉,各子系统也会为这种重复认证授权的逻辑搞...

2018-11-01 20:54:22 259

原创 深入了解mybatis参数

深入了解MyBatis参数相信很多人可能都遇到过下面这些异常:"Parameter 'xxx' not found. Available parameters are [...]""Could not get property 'xxx' from xxxClass. Cause:"The expression 'xxx' evaluated to a null value."&am

2018-10-31 18:51:50 195

原创 Mybatis的缓存机制

什么是Mybatis MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access O...

2018-10-31 18:51:41 104

原创 Log4j基本使用方法

Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。日志信息的优先级从高到低有ERROR、WARN、INFO、DEBUG,分别用来指定这条日志信息的重要程度;日志信息的输出目的地指定了日志将打印到控制台还是文件中;而输出格式则控制了日志信息的显示内容。一、定义配置文件其实您也可以完全不使用配置文件,而是在代码中配置Log4j环境。但是,使用配置文件将使您...

2018-10-28 20:16:32 92

原创 varchar 与 char vachar2的区别

区别:varchar 与 char 区别 Varchar 对每个英文 (ASCII) 字符都占用 2 个字节 , 对一个汉字也只占用两个字节 . 而 char 对英文 (ASCII) 字符占用 1 个字节 , 对一个汉字占用 2 个字节 .2 . CHAR 的长度是固定的,而 VARCHAR2 的长度是可以变化的, 比如,存储字符串“ abc" ,对于 CHAR (20) ,表示你存储的字...

2018-10-28 20:16:08 162

原创 关于angularJS的$watch的 一些小用法

$watch方法,它可以帮助我们在每个scope中监视其中的变量。$watch 单一的变量对于普通的变量时,如数字,字符串等,直接如下写是可以监视到变量的变化,并执行相应的函数的。$scope.count=1;scope.scope.scope.watch(‘count’,function(){…});$watch 多个变量对于多个变量的监视变化,执行同一函数的话,可以将这几个变量...

2018-10-28 20:00:18 121

原创 Maven的大概了解及总结setting和pom

前言:项目中经常要用到Maven,从来也没有配置过,直到当人问到Maven是干什么的,是怎么管理项目的?一头雾水,所以写了这篇博客,首先附上百度百科的词条:Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。一、Maven的下载环境变量配置下载地址:http://maven.apache.org/download.cgi 下载二进制zi...

2018-10-28 19:59:53 247

原创 dubbo 的负载均衡

负载均衡在集群负载均衡时,Dubbo 提供了多种均衡策略,缺省为 random 随机调用。负载均衡策略Random LoadBalance(1)随机,按权重设置随机概率。(2)在一个截面上碰撞的概率高,但调用量越大分布越均匀,而且按概率使用权重后也比较均匀,有利于动态调整提供者权重。RoundRobin LoadBalance(1)轮询,按公约后的权重设置轮询比率。(2)存在慢的提...

2018-10-26 15:16:29 99

原创 Linux常用命令大全

系统信息arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 cat /proc/cpuinfo 显示CP...

2018-10-26 15:16:19 128

原创 使用Nginx做负载均衡【Nginx】

一、负载均衡首先我们得知道什么是负载均衡。负载均衡 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。负载均衡,英文名称为Load Balance,其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。【百度百科】负载...

2018-10-25 19:10:10 103

原创 什么是Nginx?为什么使用Nginx?【Nginx】

一、前言为毛要用nginx服务器代理,不直接用tomcat 7.0,还做多了一次接请求? 这个是我想问的,公司的新项目是要用Nginx+tomcat7+jdk开发的,用户命名可以直接访问tomcat,为啥还要用Nginx?这货是个啥玩意?二、为什么使用Nginx? **nginx和tomcat的区别...

2018-10-25 19:09:33 144

原创 springboot构建solr查询实例

spring boot曾经使用spring我们需要各种各样的配置web.xml,配置springapplication.xml。真的很繁琐,要建一个项目框架出来,确实不太容易。而现在spring社区推出spring boot。完全不需要去管那些xml的配置了,springboot采用约定优于配置的思想,通过你项目所需的dependencies来自动配置框架。springboot的特性:1.自...

2018-10-24 18:02:54 624

原创 SSM框架原理,作用及使用方法

作用:SSM框架是spring MVC ,spring和mybatis框架的整合,是标准的MVC模式,将整个系统划分为表现层,controller层,service层,DAO层四层使用spring MVC负责请求的转发和视图管理spring实现业务对象管理,mybatis作为数据对象的持久化引擎原理:SpringMVC:1.客户端发送请求到DispacherServlet(分发器)2...

2018-10-24 17:51:56 420

原创 Spring定义bean的三种方式和自动注入

前言:随着一个项目规模的增大,我们不得不引入许多Java bean对象,而这些对象一般来说是在Spring的配置文件applicationContext.xml中进行配置的,这样就声明了这是一个由Spring容器管理的bean对象。这种做法必然会导致Spring的配置文件的可读性很差。在Spring中,我们有一些小技巧可以避免这种情况。这就是本篇文章所讨论的。一、定义bean的三种途径:首先编...

2018-10-23 20:27:20 214

原创 把spring-boot项目部署到tomcat容器中

把spring-boot项目按照平常的web项目一样发布到tomcat容器下一、修改打包形式在pom.xml里设置 <packaging>war</packaging>二、移除嵌入式tomcat插件在pom.xml里找到spring-boot-starter-web依赖节点,在其中添加如下代码,<dependency> <groupId...

2018-10-23 20:06:36 179

原创 FreeMarker学习总结

FreeMarker简介在java领域,表现层技术主要有三种:jsp、freemarker、velocity。jsp是大家最熟悉的技术优点:1、功能强大,可以写java代码2、支持jsp标签(jsp tag)3、支持表达式语言(el)4、官方标准,用户群广,丰富的第三方jsp标签库5、性能良好。jsp编译成class文件执行,有很好的性能表现缺点:jsp没有明显缺点,由于可以编写...

2018-10-22 20:50:54 149

原创 超强、超详细Redis入门教程

1.redis是什么2.redis的作者何许人也3.谁在使用redis4.学会安装redis5.学会启动redis6.使用redis客户端7.redis数据结构 – 简介8.redis数据结构 – strings9.redis数据结构 – lists10.redis数据结构 – 集合11.redis数据结构 – 有序集合12.redis数据结构 – 哈希13.聊聊redis...

2018-10-22 20:42:23 119

原创 Spring Boot 搭建应用实现登陆实例,页面使用bootstrap

Spring boot 搭建web应用集成了thymeleaf模板实现登陆下面是pom.xml的配置<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSch...

2018-10-21 18:37:44 206

原创 SpringBoot项目如何访问jsp页面

最近在接支付项目,从官方下了个及时到款的demo,想在springBoot项目中运行起来,发现访问jsp的时候直接会访问到jsp页面的源文件。如何在springBoot项目中访问到jsp页面?1.添加pom依赖首先在原来的pom文件基础上加上这两个配置 <!-- tomcat 的支持.--> <dependency> &...

2018-10-21 18:35:28 12530

原创 map.putAll()的用法

??import Java.util.HashMap;public class Map_putAllTest {public static void main(String[] args){ //两个map具有不同的key HashMap map1=new HashMap(); map1.put("1", "A"); HashMap map2 = new Has...

2018-10-20 19:38:09 667

原创 Array.asList的使用

Arrays.asList用来将数组转化为List,这个看似功能很明了的方法却暗藏玄机。请先看下面的程序:int[] datas = new int[]{1,2,3,4,5};List list = Arrays.asList(datas);System.out.println(list.size());运行结果是1。一个长度为5的数组,转化为List后,长度却成了1。再对这个程序...

2018-10-20 19:36:14 816

原创 Spring mvc整合freemarker详解

1.什么是FreeMarkerFreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写FreeMarker被设计用来生成HTML Web页面,特别是基于MVC模式的应用程序虽然FreeMarker具有一些编程的能力,但通常由Java程序准备要显示的数据,由FreeMarker生成页面,通过模板显示准备的数据(如下图)2.FreeMarker特性能够生成...

2018-10-19 20:25:53 112

原创 FreeMarker简介

1.什么是FreeMarker?FreeMarker是一款模板引擎,一种开源的、基于模板的、用来生成/输出文本的通用工具。它不是面向最终用户的,不是Web应用框架,它是Java的一个类库,是Web应用框架中的一个实用的组件,是一款可以嵌入开发产品的一款应用程序。FreeMarker的设计是被用来生成HTML页面,尤其是通过基于实现了MVC模式的Servlet应用程序。使用MVC模式的动态网...

2018-10-19 20:08:53 527

原创 Java Web基础——Action+Service +Dao三层的功能划分

1. Action/Service/DAO简介:Action是管理业务(Service)调度和管理跳转的。Service是管理具体的功能的。Action只负责管理,而Service负责实施。DAO只完成增删改查,虽然可以1-n,n-n,1-1关联,模糊、动态、子查询都可以。但是无论多么复杂的查询,dao只是封装增删改查。至于增删查改如何去实现一个功能,dao是不管的。总结这三者,通过例子...

2018-10-18 21:02:20 90

原创 springMVC中使用dubbo注解配置的问题

问题,在controller中无法通过注解自动注入dubbo服务,但是在service中可以自动注入。package com.sl;@Controllerpublic class P{//期望注入dubbo服务@Reference(version=“1.0.0”)private I0 o;//注入service@Autowiredprivate S s;@RequestMap...

2018-10-18 20:55:55 513

原创 SpringBoot应用服务启动与安全终止

SpringBoot应用服务启动参照官方示例工程可以快速搭建简单SpringBoot应用,官方连接如下:http://projects.spring.io/spring-boot/#quick-start闲话少叙,上代码:package hello;import org.springframework.boot.*;import org.springframework.boot.aut...

2018-10-17 21:00:43 194

原创 spring-data-redis 使用过程中需要注意的一点(序列化选择)

在项目中需要用到redis做缓存,于是采用spring-data-redis,并且打算自己封装一个redis的静态工具类。后来在进行单元测试的过程中发现了一个容易出错的地方,于是打算记录下来,并分享给各位朋友。这里主要说下碰到的问题,首先,采用了spring-data-redis(以下简称SDR)中的Template进行redis的操作。因为考虑到后期的使用场景,于是同时采用了StringRe...

2018-10-17 20:42:07 307

原创 什么是cdn?

1.什么是cdncdn全称是内容分发网络。其目的是让用户能够更快速的得到请求的数据。简单来讲,cdn就是用来加速的,他能让用户就近访问数据,这样就更更快的获取到需要的数据。举个例子,现在服务器在北京,深圳的用户想要获取服务器上的数据就需要跨越一个很远的距离,这显然就比北京的用户访问北京的服务器速度要慢。但是现在我们在深圳建立一个cdn服务器,上面缓存住一些数据,深圳用户访问时先访问这个cdn服务...

2018-10-16 21:23:44 245

原创 为什么越来越多的开发者选择使用Spring Boot?

一、Web应用开发背景使用Java做Web应用开发已经有近20年的历史了,从最初的Servlet1.0一步步演化到现在如此多的框架、库以及整个生态系统。经过这么长时间的发展,Java作为一个成熟的语言,也演化出了非常成熟的生态系统,这也是许多公司采用Java作为主流的语言进行服务器端开发的原因,也是为什么Java一直保持着非常活跃的用户群体的原因。最受Java开发者喜好的框架当属Spring...

2018-10-16 21:14:48 369 1

原创 SSM框架原理,作用及使用方法

作用:SSM框架是spring MVC ,spring和mybatis框架的整合,是标准的MVC模式,将整个系统划分为表现层,controller层,service层,DAO层四层使用spring MVC负责请求的转发和视图管理spring实现业务对象管理,mybatis作为数据对象的持久化引擎原理:SpringMVC:1.客户端发送请求到DispacherServlet(分发器)2...

2018-10-16 21:04:49 272

原创 SQL优化

在sql查询中为了提高查询效率,我们常常会采取一些措施对查询语句进行sql优化,下面总结的一些方法,有需要的可以参考参考。1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where nu...

2018-10-16 20:43:45 80

原创 IDEA下从零开始搭建SpringBoot工程

SpringBoot的具体介绍可以参看其他网上介绍,这里就不多说了,就这几天的学习,个人理解,简而言之:(1)它是Spring的升级版,Spring容器能做到的事情,它都能做到,而且更简便,从配置形式上来说,SpringBoot完全抛弃了繁琐的XML文件配置方式,而是替代性地用注解方式来实现,虽然本质来说,是差不多的(类似包扫描,注解扫描,类加载之类)。(2)SpringBoot集成的插件更多...

2018-10-16 20:40:36 95

原创 Spring系列学习 --- DAO学习

1、DAO 处理数据的 — Data Access ObjectThe Data Access Object (DAO) support in Spring is aimed at making it easy to work with data access technologies like JDBC, Hibernate, JPA or JDO in a consistent way....

2018-10-12 22:09:17 112

原创 Spring Boot 搭建应用实现登陆实例,页面使用bootstrap

Spring boot 搭建web应用集成了thymeleaf模板实现登陆下面是pom.xml的配置<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSch...

2018-10-12 22:05:28 1501

原创 [排序算法]--冒泡排序的三种实现(Java)

冒泡排序是非常好理解的,以从小到大排序为例,每一轮排序就找出未排序序列中最大值放在最后。设数组的长度为N:(1)比较前后相邻的二个数据,如果前面数据大于后面的数据,就将这二个数据交换。(2)这样对数组的第0个数据到N-1个数据进行一次遍历后,最大的一个数据就“沉”到数组第N-1个位置。(3)N=N-1,如果N不为0就重复前面二步,否则排序完成。/** * 冒泡排序的第一种实现, 没有任...

2018-10-11 20:29:53 86

原创 用Redis轻松实现秒杀系统

导论曾经被问过好多次怎样实现秒杀系统的问题。昨天又在CSDN架构师微信群被问到了。因此这里把我设想的实现秒杀系统的价格设计分享出来。供大家参考。秒杀系统的架构设计秒杀系统,是典型的短时大量突发访问类问题。对这类问题,有三种优化性能的思路:写入内存而不是写入硬盘异步处理而不是同步处理分布式处理用上这三招,不论秒杀时负载多大,都能轻松应对。更好的是,Redis能够满足上述三点。因此,用R...

2018-10-11 19:59:58 138

原创 大型网站应用之海量数据和高并发解决方案总结一二

一、网站应用背景开发一个网站的应用程序,当用户规模比较小的时候,使用简单的:一台应用服务器+一台数据库服务器+一台文件服务器,这样的话完全可以解决一部分问题,也可以通过堆硬件的方式来提高网站应用的访问性能,当然,也要考虑成本的问题。当问题的规模在经济条件下通过堆硬件的方式解决不了的时候,我们应该通过其他的思路去解决问题,互联网发展至今,已经提供了很多成熟的解决方案,但并不是都具有适用性,你把淘...

2018-10-10 20:29:19 118

原创 为什么要用spring,springMVC?

今天被公司派到别的公司谈项目,刚去就先被面试了一波(原来是把我外包到别的公司做项目了 -。-),面试时候问了我一个问题,很简单,就是问我java开发web项目为什么要用spring,springmvc?  好吧,当时我人直接懵逼了,什么鬼问我这个!!不就是可以省去很多功夫让我们踏踏实实写业务代码嘛?  当时就随便回答了一些,回到公司仔细想想,发现还有挺多...

2018-10-09 16:42:01 482

空空如也

空空如也

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

TA关注的人

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