技术总结
zhao_pq
求知若渴 虚心若愚
展开
-
RESTful6大原则及实践
六大原则1. C-S架构数据的存储在Server端,Client端只需使用就行。两端彻底分离的好处使client端代码的可移植性变强,Server端的拓展性变强。两端单独开发,互不干扰。2. 无状态http请求本身就是无状态的,基于C-S架构,客户端的每一次请求带有充分的信息能够让服务端识别。请求所需的一些信息都包含在URL的查询参数、header、body,服务端能够根据请求的各...原创 2019-12-30 11:21:20 · 2232 阅读 · 0 评论 -
es6 var 与 let 区别
var 有什么缺陷,为什么会被 let 和 const 取代 ?先看用到 var 的一段代码。function doSomething () { for (var i = 0; i < 4; i++) { console.log(i) } console.log('end ' + i)}doSomething()打印结果:...原创 2019-12-24 17:19:29 · 283 阅读 · 0 评论 -
分布式集群下的session同步问题
一、概述 传统的应用服务器,自身实现的session管理是大多是基于单机的,对于大型分布式网站来说,支撑其业务的远远不止一台服务器,而是一个分布式集群,请求在不同的服务器之间跳转。那么,如何保持服务器之间的session同步呢? 分布式环境下,如果一次请求被负载均衡分配到了服务器A,如果按照一般的方式存储session,在A的本地会存储session,如果此次...原创 2018-08-14 09:24:54 · 562 阅读 · 0 评论 -
oracle创建修改视图权限不足解决方法
使用用户 AAA 登录Oracle以后,创建视图,提示“权限不够” 这是因为 AAA 这个帐户目前没有创建视图的权限。 解决方法为: 首先使用system帐户进行登录 ,然后执行:grant create any view to AAA 提示:授权成功。 再使用 AAA 登录就可以创建视图了。如果还是问题还是没有解决:即便是 grant db...原创 2019-04-18 10:54:32 · 9441 阅读 · 0 评论 -
apache Tika介绍及使用
1、Tika应用层架构应用程序员可以很容易地在他们的应用程序集成Tika。Tika提供了一个命令行界面和图形用户界面,使它比较人性化。在本章中,我们将讨论构成Tika架构的四个重要模块。下图显示了Tika的四个模块的体系结构:语言检测机制。 MIME检测机制。 Parser接口。 Tika Facade 类.1.1 语言检测机制每当一个文本文件被传递到Tika,它将检...原创 2019-06-06 16:09:06 · 33227 阅读 · 0 评论 -
Elasticsearch简介及SpringBoot整合ES实例
Elasticsearch简介1.1 Elasticsearch(以下简称ES)定义Elasticsearch 是一个开源的搜索引擎。 建立在全文搜索引擎库 Apache Lucene 基础之上。它的内部使用 Lucene 做索引与搜索,但是它的目的是使全文检索变得简单,通过隐藏 Lucene 的复杂性,取而代之的提供一套简单一致的 RESTful API。Elasticsearch ...原创 2019-07-02 17:33:58 · 8650 阅读 · 5 评论 -
Java反射理解
什么是反射?Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助于 Reflection API 取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。如何理解反射?简单来讲反射就是将传统的开发方式进行反转,传统的方式是通过类创建对象,反射则是通过对象获取类的内部结构,当然也可以通过其他方式来获取类的内部结构。传统方式:类-------------...原创 2019-07-13 14:20:45 · 145 阅读 · 0 评论 -
多线程面试题大全
1、 什么是线程? 线程是操作系统能够进行运算的最小单位,他包含在实际的运作单位里面,是进程中的实际运作单位。 程序员可以通过它进行多处理器编程,你可以使用多线程对运算密集型任务提速。比如,如果一个线程完成一个任务要100毫秒,那么用十个线程完成改任务只需10毫秒。Java在语言层面对多线程提供了卓越的支持,它也是一个很好的卖点 它可与同属一个进程的其它线程共享进程所拥...原创 2019-07-13 14:34:25 · 346 阅读 · 0 评论 -
MySQL数据库优化
数据库命令规范所有数据库对象名称必须使用小写字母并用下划线分割所有数据库对象名称禁止使用 MySQL 保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来)数据库对象的命名要能做到见名识意临时库表建议以 tmp_为前缀并以日期为后缀,备份表必须以 bak_为前缀并以日期 (时间戳) 为后缀所有存储相同数据的列名和列类型必须一致(一般作为关联列,如果查询时关联列类型不一...原创 2019-07-17 17:53:15 · 311 阅读 · 1 评论 -
List、Map、Set默认初始容量和扩容增量及加载因子
1、概念解读初始容量,就是创建时可容纳的默认元素个数;加载因子,表示某个阀值,用0~1之间的小数来表示,当已有元素占比达到这个阀值后,底层将进行扩容操作;扩容方式,即指定每次扩容后的大小的规则,比如翻倍等。当底层实现涉及到扩容时,容器或重新分配一段更大的连续内存(如果是离散分配则不需要重新分配,离散分配都是插入新元素时动态分配内存),要将容器原来的数据全部复制到新的内存上,这无疑使效率...原创 2018-08-09 08:58:49 · 3859 阅读 · 2 评论 -
Spring MVC中获取Request的方法及分析
一、概述在使用Spring MVC开发Web系统时,经常需要在处理请求时使用request对象,比如获取客户端IP地址、请求的URL、header中的属性(如cookie、授权信息)、body中的数据等。由于在Spring MVC中,处理请求的Controller、Service等对象都是单例的,因此获取request对象时最需要注意的问题,便是request对象是否是线程安全的:当有大量并发请求...原创 2018-06-11 18:29:01 · 5233 阅读 · 0 评论 -
SpringAOP+ Mybatis + duird实现事务管理(使用xml配置事务)
一、配置数据库连接,mapper扫描以及事务控制 <context:property-placeholder order="1" location="classpath:jdbc.properties" ignore-unresolvable="true"/> <!-- DataSource数据源,使用druid连接池 --> <bean id="d.原创 2018-05-17 16:29:57 · 1983 阅读 · 0 评论 -
Mybatis逆向工程生成代码
1.什么是逆向工程 mybatis需要程序员自己编写sql语句,mybatis官方提供逆向工程可以针对单表自动生成实体类 ,dao方法还有 对应的xml文件企业实际开发中,常用的逆向工程方式:由数据库的表生成java代码。,一定程度上提高开发效率2.jar包 导入mybatis相关jar包 以及 mybatis-generator-core(主要) ...原创 2018-05-11 14:11:43 · 1148 阅读 · 0 评论 -
Spring集成redis(SSM框架)
一、本地安装 redis(windows)1、 下载redis压缩包 下载地址:https://github.com/MicrosoftArchive/redis/tags2、解压到对应目录:3、双击redis-server.exe启动redis,双击redis-cli.exe操作redis命令。启动成功页面如上图,至此redis安装完毕。若不能正确安装还请读者留言咨询。接下来步入正题。...原创 2018-05-18 14:24:31 · 16983 阅读 · 17 评论 -
JSON字符串 与Obj,List,Map之间的转换
java后端编程中我们总是离不开JSON数据格式,以下是我总结的JSON与各种数据类型的转换。方便我们日后总结记忆。一、JSON与Obj1、将对象转换为json字符串: JSONObject.fromObject(User).toString()2、将json对象转化为java对象: User user=(User)JSONObject.to...原创 2018-05-18 14:49:18 · 1109 阅读 · 0 评论 -
线程池成长之路+使用方法
1.什么是线程池?线程池是一种多线程处理形式,处理过程中将任务提交到线程池,任务的执行交由线程池来管理。如果每个请求都创建一个线程去处理,那么服务器的资源很快就会被耗尽,使用线程池可以减少创建和销毁线程的次数,每个工作线程都可以被重复利用,可执行多个任务。如果用生活中的列子来说明,我们可以把线程池当做一个客服团队,如果同时有1000个人打电话进行咨询,按照正常的逻辑那就是需要1000个客服接听电话...原创 2018-05-14 10:50:29 · 1252 阅读 · 1 评论 -
Spring整合EhCache缓存管理
一、ehcache简单介绍 EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,Ehcache是一种广泛使用的开 源Java分布式缓存。主要面向通用缓存,Java EE和轻量级容器。它具有内存和磁盘存储,缓存加载器,缓存扩展,缓存异常处理程序等特点。优点: 1. 快速 、简单 、拥有多种缓存策略。 2. 缓存数据有两级:内存和磁盘,因此无需担心容量问题 3. 缓存数据会在...原创 2018-05-14 15:28:22 · 2226 阅读 · 1 评论 -
自定义jsp标签实现按钮权限控制
一、了解jsp自定义标签 自定义标签是用户定义的JSP语言元素。当JSP页面包含一个自定义标签时将被转化为servlet,标签转化为对tag handler的对象的操作,即当servlet执行时Web 容器调用那些操作。 好处:1.JSP标签主要用来显示结果数据,用来沟通表示层和业务逻辑层,把页面美工工作和程序编写分开。 2. 自定义标签方便JSP页面代码的维护,代码重用。二、按钮权限...原创 2018-05-15 11:39:25 · 3802 阅读 · 1 评论 -
自定义 Filter实现登录权限控制(全面)+登录白名单
一、项目中加入自定义filter原创 2018-05-23 17:27:27 · 12268 阅读 · 1 评论 -
Spring AOP 基于注解实现日志记录+自定义注解
一、写一个自定义注解 注解中包括配置方法所在模块名称,以及功能名称,当然我们在注解里可以自定义。import java.lang.annotation.Documented;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotati...原创 2018-05-17 12:41:53 · 16086 阅读 · 7 评论