自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 资源 (2)
  • 问答 (1)
  • 收藏
  • 关注

原创 log4j2日志戳引发的优化

log4j2异步打印日志戳传递,深入了解底层传输原理。

2022-05-26 10:16:00 602 1

转载 2021-03-16

什么是服务端渲染?ajax没出来前,都是服务端渲染,服务端直接返回html文本给浏览器。服务端将对vue页面进行渲染(获取数据,填充组件都在服务端完成)生成HTML文件,将HTML页面传给浏览器。【将html在服务端渲染,合成完整的html文件再输出到浏览器】目的为了体验(首屏响应),为了解决单页面应用SEO问题,对于论坛类,内容网站类的网站至关重要,传统的SPA应用是没有SEO的,搜索引擎无法抓取页面相关内容,也就是用户搜不到此网站的相关内容。传统SPA:1、浏览器加载所有资源(html

2021-03-16 17:54:51 134

原创 POI 解决 excel 海量数据 解析和导出

POI-HSSF和POI-XSSF / SXSSF-用于访问Microsoft Excel格式文件。那么HSSF 是针对(.xls)文件格式的解析和导出操作类。XSSF可以同时解析(.xls和.xlsx)两种类型。从3.8-beta3开始,POI提供了基于XSSF的低内存占用的SXSSF API。SXSSF是XSSF的API兼容流扩展,可用于必须生成非常大的电子表格且堆空间有限的情况。SXSSF通过限制对滑动窗口内的行的访问来实现其低内存占用,而XSSF允许对文档中的所有行进行访问。不再存在于.

2020-06-01 18:06:55 1035

原创 多线程并发工具之Semaphore信号量

 Semaphore 是 synchronized 的加强版,作用是控制线程的并发数量。就这一点而言,单纯的synchronized 关键字是实现不了的。

2020-05-19 11:28:23 408

原创 多线程并发工具之cyclicBarrier

cyclicBarrier是一种控制线程并发工具,跟CountDownLatch类似,不同的是countDownLatch多线程下是一次性的。用过之后就不能在使用。画个图来解释下,假设现在有3个线程编号1,2,3 三个线程同时开始,线程1,2到达第一个await这时就需要等到3到达await才可以接着往前走。这个时候1,2,3三个线程同时获取锁同时触发往下一个await走。这个就是cyclicBarrier跟countDownLatch不同的地方。countDownLatch到达第一个await等待最后

2020-05-15 17:07:52 252

原创 apollo 实战之修改注册中心 v1.6版本

1、修改配置文件修改打包好的apollo-configservice和apollo-adminservice安装包下的application-github.properties文件增加一下参数apollo.eureka.server.enabled=false #关闭默认eurekaapollo.eureka.client.enabled=true2、修改数据库配置修改ApolloConfigDB.ServerConfig表中的eureka.service.url,指向自己的Eureka

2020-05-14 15:40:00 785

原创 apollo 实战之部署多环境 v1.6版本

准备工作服务端jdk版本为1.8,客户端版本1.7,客户端如果是较老的代码,需1.6jdk的话,请参考官网关于降级的详解https://github.com/ctripcorp/apollo/issues/483 不同环境分别创建ApolloConfigDB表。ApolloPortalDB只需要创建一个,也就是一个portal可以管理多个环境集群,这也是该框架的一大特色。官网提供一些生产环境部署参考 Portal部署在生产环境的机房,通过它来直接管理FAT、UAT、PRO等环境的配置 Meta

2020-05-14 11:15:20 708

原创 apache shardingsphere 【实现oracle数据库按月分片】

pom文件配置:注意4.0.0-RC1版本 最低使用ojdbc6版本。<dependency> <groupId>org.apache.shardingsphere</groupId> <artifactId>sharding-jdbc-spring-namespace</artifactId> <version&g...

2019-11-03 12:40:02 2410

原创 多线程实战运用【线程池结合CountDownLatch(信号量)、FutureTask获取反数据】

主方法入参threadSize线程池数量。通过FutureTask 来获取线程执行返回的数据。public static Map<String, String> demo(int threadSize) { Map<String, String> map = new HashMap<>(); CountDownLa...

2019-10-25 17:51:18 1168

原创 多线程实战运用【多线程解析文件获取信息,合并子线程输出文件】

package com.qtopay.common.localcache;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java....

2019-10-25 09:41:08 305

原创 oracle之PLSQL优化查询语句——多种函数配合over()函数运用

总结下现在网上的一些列有关于over()函数的运用。over()也叫分析函数 我个人在学习这个时赶脚网上的对这类函数的解释太过官方了,给一些基础不是特别好的理解带来些压力,我用一些大家比较通俗易懂的概念来讲解。 over分一下三种用法 over(order by clomun) over(partition by clomun) over(partition by clomun1 orde

2017-04-25 22:54:25 1463

原创 java面试题7

1、MyBatis中如何实现动态SQL的?MyBatis的动态SQL是基于OGNL表达式的,它可以帮助我们方便的在SQL语句中实现某些逻辑. MyBatis中用于实现动态SQL的元素主要有:if, choose(when,otherwise),trim,where,set,foreach2、Mybaties中#与$的区别?1)#是把传入的数据当作字符串,如#field#传入的是

2016-03-13 14:27:28 402

原创 java面试题6

1、请说出你所知道的线程同步的方法。wait():使一个线程处于等待状态,并且释放所持有的对象的lock;sleep():使一个正在运行的线程处于睡眠状态,是一个静态方法,调用此方法要 捕捉InterruptedException异常;notify():唤醒一个处于等待状态的线程,注意的是在调用此方法的时候,并不能确切的唤醒某一个等待状态的线程,而是由JVM确定唤醒哪个线程,而且不是按

2016-03-13 14:26:27 316

原创 java面试题5

1、实现线程安全的两种方式1)synchronized方法:通过在方法声明中加入synchronized关键字来声明synchronized方法。2)synchronized块:通过synchronized关键字来声明synchronized块。2、薪水排序后薪水排名在第3-5的员工1)select * from(select ename,sal,rownum rn f

2016-03-13 14:24:06 341

转载 sql语句大全

一、创建和删除数据库1、创建用户//创建用户且置密码,在MySQL中行,但在Oracle中行  ----必须在超级管理员身份下操作create user hncu identified by '1234'2、创建数据库//创建数据库 并手动指定编码格式//错,因为根据手册的查询,数据库名应该在 EXISTS后面CREATE DATABAS

2016-03-13 14:20:17 442

转载 不可不知的GitHub功能

Github 让全世界的开发人员、设计人员可以在一起工作交流。Github不仅提供大量开源项目、编程语言代码,他也发布过Windows 和 OS X 桌面应用,可以让我们在工作中无缝集成Github 。不过,有很多Github功能还是不为大多数人熟知,这里慧都控件网为大家收集了10个不可不知的Github功能。1、拖拽Gist代码Gist是 Github专有

2016-03-05 12:47:46 1048

原创 java面试题4

1、statement 和preparedstatement的区别     1.statement是preparedstatemnet的父类      2.statement是直接发送sql语句到数据库,事先没有进行预编译,这样会导致      恶意注入sql语句的问题出现.prepatedstatement会将sql进行预编译,

2016-02-28 20:46:21 296

原创 java面试题3

1、HashMap 和HashTable的区别:   1.HashMap允许空键值对,HashTable不允许     2.HashMap不是线程安全的,HashTable是     3.HashMap直接实现Map接口,HashTable直接继承Dictionary类 2、ArrayList ,Vector,Link

2016-02-28 20:45:29 210

原创 java面试题2

1、MVC 的各个部分都有哪些技术来实现?如何实现?  解答:MVC 是 Model-View-Controller 的缩写,Model 代表的是应用的业务逻辑 (通过 JavaBean,EJB组件实现),View 是应用的表示面 (由JSP 页面产生)Controller 是通过应用的处理过程控制,(一般是一个 servert)通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件

2016-02-28 20:44:33 266

原创 java面试题1

1、Hibernate 实现中,load 和 get 方法的区别,find 和 iterate 的区别?  答:load 和 get 方法的区别:hibernate 对于 load 方法认为该数据在数据库中 一定存在,可以放心的使用代理来延迟加载,如果在使用过程中发现了问题,只能抛异常;而对于get方法,hibernate 一定要获取到真实的数据,否则返回null。

2016-02-28 20:42:54 242

原创 springmvc 拦截器及过滤器

过滤器的类存放在org.springframework.web.filter里面 encoding org.springframework.web.filter.CharacterEncodingFilter encoding utf8 encoding *拦截器的实现1、编写拦截器实现HandlerInterceptor接口2、将拦截器注册

2016-02-04 23:33:18 1154 1

原创 linux常用命令

linux查看java进程root@vm-linux-x86 ~]# ps -ef|grep javaroot 4834 1 2 Jun10 pts/6 03:10:50 /opt/JDK/jdk1.6.0_21/bin/java -classpath /opt/JReport/Server_B201106081302/derby/lib/*:/opt/JRepor

2016-02-04 12:17:39 266

原创 spring的资源访问工具类

Spring设计了一个Resource接口,它为应用提供了更强大的访问底层资源的能力:主要方法:boolean exists()boolean isopen()url geturl()File getFile()inputStream getInputStream 具体实现类byteArrayResourceclassPathResourcefileSyst

2016-02-04 01:00:24 491

原创 spring IOC的理解

IOC是spring容器的内核,AOP、声明式事务等功能都依赖于此功能,它涉及代码解耦,设计模式、代码优化等问题的考量,我们将通过以下三方面来深入了解IOCioc的初步理解:字面意思是1:控制2:反转。DI概念的引入:(依赖注入)让调用类对某一接口实现类的依赖关系由第三方注入,以移除调用类对某一接口实现类的依赖。ioc的注入类型     ioc的注入方式:1:构造函数的注入2:

2016-02-04 00:55:03 266

原创 java深入理解反射机制

java类装载器工作机制:1:装载:查找和导入class文件2:链接:执行校验(检查载入class文件的正确性),准备(给类静态变量分配存储空间)和解析(将符号引用变成直接引用)步骤3:初始化:对类的静态变量、静态代码块执行初始化工作。类装载工作主要是由类classLoder,及其子类来负责的。classloder是一个java运行的主键jvm在运行时会产生3个cl

2016-02-04 00:34:53 333

原创 java之学习多线程

1:如何常见线程及线程的基本操作2:可见性volatile关键字3:争用条件4:线程的互斥synchronized5:线程的同步wait/notifyAllJava Memory ModeJMM描述了java线程如何通过内存经行交互happens-beforesynchronized,volatile&finalLock&Cond

2016-01-18 21:54:32 228

原创 hibernate之hql语

String hql = "select new list(s.name,s.tel,s.address) from Seller s";for(List list:list){ system.out.println("name:"+list.get(0)); system.out.println("tel:"+list.get(1)); system.out.println(

2016-01-15 15:13:46 357

转载 redis第三天之各种数据类型对应的jedis操作命令

一、常用数据类型简介:      redis常用五种数据类型:string,hash,list,set,zset(sorted set).1.String类型String是最简单的类型,一个key对应一个valueString类型的数据最大1G。String类型的值可以被视作integer,从而可以让“INCR”命令族操作(incrby、decr、decrby)

2016-01-11 17:10:40 339

原创 redis第二天之链接java

一:首先下载jedis-2.1.0.jar包。我是通过maven加载jar包的。 redis.clients jedis 2.5.2 二:加载jar包后创建main方法。引入jar包import redis.clients.jedis.Jedis;public static void main(String[] args){ //Conn

2016-01-10 23:38:04 447

转载 bootstrap后端开发必备,30分钟搞定前端

一、引言  很久没有写过博客了,但是最近这段时间都没有闲着,接触了很多方面。比如一些前端框架和组件、还有移动开发React-Native、以及对.NET框架设计的一些重新认识。这些内容在接下来的时间都会一一和大家分享的。我为什么放置了这么久又重新写博客呢?因为在这段时间里面,我虽然接触了这么多东西,自己也没有停下来学习,但是没有写博文总结的话,总感觉这些东西还不是我的。心里总感觉空荡荡的。

2016-01-09 23:42:48 3603

原创 redis第一天

windows下安装redis1、redis简介redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hashs(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操

2016-01-09 23:09:02 233

转载 js跳转

js跳转页面方法(转)3布丁足迹;秒后自动跳转……function countDown(secs){  tiao.innerText=secs;  if(--secs>0)   setTimeout("countDown("+secs+")",1000);  }  countDown(3);   按钮式:    链接式:  返

2016-01-09 19:44:51 289

原创 https GET请求

private static RestTemplate restTemplate = new RestTemplate(); //get请求String json = restTemplate.getForObject(url, String.class);

2016-01-09 19:43:10 1843 1

原创 android音频

1.创建MediaPlayer对象,并装载音频文件。MeadiaPlayer mp = MediaPlayer.create(this, int resid)create有两种语法格式。

2016-01-09 19:40:04 257

原创 android的网络通信

socket通信,Http通信,URL通信,webView模拟器会把localhost或127.0.0.1当做本身,从而产生错误,虚拟机模拟器下可以使用10.0.2.2替代localhost或127.0.0.1。

2016-01-09 19:39:30 199

原创 springmvc之requestMapping(params,headers)

params:请求的参数params=value 表示请求过来的参数必须等于valueparams!=value 表示请求过来的参数必须不等于value{params = vlaue1 ,params !=value2 }也可以写成数组的形式。@requestMapping(value="/demo" ,params = {"name","age=1

2016-01-09 19:35:05 2000

原创 sprinmvc之@requestMapping映射请求通配符

只支持Ant风格是映射请求:--?:匹配文件名中的一个字符-- *  :匹配文件名中任意字符--**:**匹配多层路径request(value="/demo/*/demo");//请求地址demo下的任意路径,任意路径下的demo,就可以访问到这个action

2016-01-09 19:33:52 5302

原创 springmvc之@PathVariable注解

@PathVariable 可以将URL中占位符绑定到控制器处理方法中url请求过去//a href = "demo/demo2/1">a>action@requestMapping(value="demo/demo/{id}")public String demo(@PathVariable("id") Integer id){ system

2016-01-09 19:32:50 312

原创 springmvc之REST风格

Rest风格:资源表现层转化,是一种互联网的架构也就是Http协议里面的4个操作方式的动词,1:GET (用来获取资源的) 2:POST(用来新建资源)  3:PUT (用来更新资源) 4:DELETE(用来删除资源)首先需要需要找到HiddenHttpMethodFilter然后在xml中配置这个过滤器org.springframework.w

2016-01-09 19:32:15 323

原创 springmvc之@RequestParam注解

@RequestParam:这个来过去请求参数中的值a href = "demo/name=xiaoming&age=18">通过@requestParam来获得请求参数的值a>action 如果请求过来的参数里面没有你action中接收的,那么会报错,可以加上这个required=false; 意思是你接收的参数可有可无@requestMapp

2016-01-09 19:30:53 919

apollo1.6.1.zip

apollo-adminservice-1.6.1-github apollo-configservice-1.6.1-github apollo-portal-1.6.1-github

2020-05-14

handlerbars的demo实例源码

js模版引擎handlebars.js实用教程demo。 官方+自己的总结

2016-01-09

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

TA关注的人

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