- 博客(54)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
转载 2021-03-16
什么是服务端渲染?ajax没出来前,都是服务端渲染,服务端直接返回html文本给浏览器。服务端将对vue页面进行渲染(获取数据,填充组件都在服务端完成)生成HTML文件,将HTML页面传给浏览器。【将html在服务端渲染,合成完整的html文件再输出到浏览器】目的为了体验(首屏响应),为了解决单页面应用SEO问题,对于论坛类,内容网站类的网站至关重要,传统的SPA应用是没有SEO的,搜索引擎无法抓取页面相关内容,也就是用户搜不到此网站的相关内容。传统SPA:1、浏览器加载所有资源(html
2021-03-16 17:54:51
180
原创 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
1184
1
原创 多线程并发工具之Semaphore信号量
Semaphore 是 synchronized 的加强版,作用是控制线程的并发数量。就这一点而言,单纯的synchronized 关键字是实现不了的。
2020-05-19 11:28:23
481
原创 多线程并发工具之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
296
原创 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
971
原创 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
783
原创 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
2600
原创 多线程实战运用【线程池结合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
1240
原创 多线程实战运用【多线程解析文件获取信息,合并子线程输出文件】
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
352
原创 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
1583
原创 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
430
原创 java面试题6
1、请说出你所知道的线程同步的方法。wait():使一个线程处于等待状态,并且释放所持有的对象的lock;sleep():使一个正在运行的线程处于睡眠状态,是一个静态方法,调用此方法要 捕捉InterruptedException异常;notify():唤醒一个处于等待状态的线程,注意的是在调用此方法的时候,并不能确切的唤醒某一个等待状态的线程,而是由JVM确定唤醒哪个线程,而且不是按
2016-03-13 14:26:27
346
原创 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
369
转载 sql语句大全
一、创建和删除数据库1、创建用户//创建用户且置密码,在MySQL中行,但在Oracle中行 ----必须在超级管理员身份下操作create user hncu identified by '1234'2、创建数据库//创建数据库 并手动指定编码格式//错,因为根据手册的查询,数据库名应该在 EXISTS后面CREATE DATABAS
2016-03-13 14:20:17
478
转载 不可不知的GitHub功能
Github 让全世界的开发人员、设计人员可以在一起工作交流。Github不仅提供大量开源项目、编程语言代码,他也发布过Windows 和 OS X 桌面应用,可以让我们在工作中无缝集成Github 。不过,有很多Github功能还是不为大多数人熟知,这里慧都控件网为大家收集了10个不可不知的Github功能。1、拖拽Gist代码Gist是 Github专有
2016-03-05 12:47:46
1101
原创 java面试题4
1、statement 和preparedstatement的区别 1.statement是preparedstatemnet的父类 2.statement是直接发送sql语句到数据库,事先没有进行预编译,这样会导致 恶意注入sql语句的问题出现.prepatedstatement会将sql进行预编译,
2016-02-28 20:46:21
331
原创 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
244
原创 java面试题2
1、MVC 的各个部分都有哪些技术来实现?如何实现? 解答:MVC 是 Model-View-Controller 的缩写,Model 代表的是应用的业务逻辑 (通过 JavaBean,EJB组件实现),View 是应用的表示面 (由JSP 页面产生)Controller 是通过应用的处理过程控制,(一般是一个 servert)通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件
2016-02-28 20:44:33
301
原创 java面试题1
1、Hibernate 实现中,load 和 get 方法的区别,find 和 iterate 的区别? 答:load 和 get 方法的区别:hibernate 对于 load 方法认为该数据在数据库中 一定存在,可以放心的使用代理来延迟加载,如果在使用过程中发现了问题,只能抛异常;而对于get方法,hibernate 一定要获取到真实的数据,否则返回null。
2016-02-28 20:42:54
280
原创 springmvc 拦截器及过滤器
过滤器的类存放在org.springframework.web.filter里面 encoding org.springframework.web.filter.CharacterEncodingFilter encoding utf8 encoding *拦截器的实现1、编写拦截器实现HandlerInterceptor接口2、将拦截器注册
2016-02-04 23:33:18
1211
原创 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
297
原创 spring的资源访问工具类
Spring设计了一个Resource接口,它为应用提供了更强大的访问底层资源的能力:主要方法:boolean exists()boolean isopen()url geturl()File getFile()inputStream getInputStream 具体实现类byteArrayResourceclassPathResourcefileSyst
2016-02-04 01:00:24
520
原创 spring IOC的理解
IOC是spring容器的内核,AOP、声明式事务等功能都依赖于此功能,它涉及代码解耦,设计模式、代码优化等问题的考量,我们将通过以下三方面来深入了解IOCioc的初步理解:字面意思是1:控制2:反转。DI概念的引入:(依赖注入)让调用类对某一接口实现类的依赖关系由第三方注入,以移除调用类对某一接口实现类的依赖。ioc的注入类型 ioc的注入方式:1:构造函数的注入2:
2016-02-04 00:55:03
297
原创 java深入理解反射机制
java类装载器工作机制:1:装载:查找和导入class文件2:链接:执行校验(检查载入class文件的正确性),准备(给类静态变量分配存储空间)和解析(将符号引用变成直接引用)步骤3:初始化:对类的静态变量、静态代码块执行初始化工作。类装载工作主要是由类classLoder,及其子类来负责的。classloder是一个java运行的主键jvm在运行时会产生3个cl
2016-02-04 00:34:53
365
原创 java之学习多线程
1:如何常见线程及线程的基本操作2:可见性volatile关键字3:争用条件4:线程的互斥synchronized5:线程的同步wait/notifyAllJava Memory ModeJMM描述了java线程如何通过内存经行交互happens-beforesynchronized,volatile&finalLock&Cond
2016-01-18 21:54:32
266
原创 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
391
转载 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
376
原创 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
484
转载 bootstrap后端开发必备,30分钟搞定前端
一、引言 很久没有写过博客了,但是最近这段时间都没有闲着,接触了很多方面。比如一些前端框架和组件、还有移动开发React-Native、以及对.NET框架设计的一些重新认识。这些内容在接下来的时间都会一一和大家分享的。我为什么放置了这么久又重新写博客呢?因为在这段时间里面,我虽然接触了这么多东西,自己也没有停下来学习,但是没有写博文总结的话,总感觉这些东西还不是我的。心里总感觉空荡荡的。
2016-01-09 23:42:48
3671
原创 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
270
转载 js跳转
js跳转页面方法(转)3布丁足迹;秒后自动跳转……function countDown(secs){ tiao.innerText=secs; if(--secs>0) setTimeout("countDown("+secs+")",1000); } countDown(3); 按钮式: 链接式: 返
2016-01-09 19:44:51
319
原创 https GET请求
private static RestTemplate restTemplate = new RestTemplate(); //get请求String json = restTemplate.getForObject(url, String.class);
2016-01-09 19:43:10
1912
1
原创 android音频
1.创建MediaPlayer对象,并装载音频文件。MeadiaPlayer mp = MediaPlayer.create(this, int resid)create有两种语法格式。
2016-01-09 19:40:04
291
原创 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
233
原创 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
2032
原创 sprinmvc之@requestMapping映射请求通配符
只支持Ant风格是映射请求:--?:匹配文件名中的一个字符-- * :匹配文件名中任意字符--**:**匹配多层路径request(value="/demo/*/demo");//请求地址demo下的任意路径,任意路径下的demo,就可以访问到这个action
2016-01-09 19:33:52
5390
原创 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
338
原创 springmvc之REST风格
Rest风格:资源表现层转化,是一种互联网的架构也就是Http协议里面的4个操作方式的动词,1:GET (用来获取资源的) 2:POST(用来新建资源) 3:PUT (用来更新资源) 4:DELETE(用来删除资源)首先需要需要找到HiddenHttpMethodFilter然后在xml中配置这个过滤器org.springframework.w
2016-01-09 19:32:15
357
原创 springmvc之@RequestParam注解
@RequestParam:这个来过去请求参数中的值a href = "demo/name=xiaoming&age=18">通过@requestParam来获得请求参数的值a>action 如果请求过来的参数里面没有你action中接收的,那么会报错,可以加上这个required=false; 意思是你接收的参数可有可无@requestMapp
2016-01-09 19:30:53
963
apollo1.6.1.zip
2020-05-14
hql语句只能查询出数据库里面的第一条数据
2015-06-22
TA创建的收藏夹 TA关注的收藏夹
TA关注的人