自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(74)
  • 资源 (4)
  • 收藏
  • 关注

原创 java后台实现文件异步下载

一说到异步下载,大家可能会想到耳熟能详的ajax 。通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。可是,大家有想过没有ajax的异步刷新只是针对前端的,但是比方我一个业务访问量比较庞大的系统,如果在高峰期用户正在操作业务功能的时候,这时有一个用户在做全量下载,要知道ajax发送的请求到后台是没有异步处理的,这时必定会耗费大量的资源,甚至拖垮系统。下面我给大家介绍一种后台实现异步下载的方案。具体代码就不发了,共.

2021-03-15 11:14:53 4437 2

原创 vue 上传多张图片和表单一起提交至后台

最近接到一个需求,对当前项目增加问题反馈功能,应对公司审计 。传统的vue上传组件,多张图片会提交多个请求到后台,这种显然不可取,我们要实现的就是一次请求后台同时将多张图片和表单提交到后台。主要策略就是 : 1. 图片组件上传不提交 2 。使用FormData来将 图片和表单提交到后台。前端代码如下 : <el-form-item label="图片上传"> <el-upload action='/rest/problemFe...

2021-03-12 21:09:33 5216 1

转载 Java并发编程:并发容器之CopyOnWriteArrayList

Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改,这是一种延时懒惰策略。从JDK1.5开始Java并发包里提供了两个使用CopyOnWrite机制实现的并发容器,它们是CopyOnWriteArrayList和CopyOnWriteArraySet。...

2018-10-19 14:22:21 206

转载 写给工程师的十条精进原则

引言时间回到8年前,我人生中第一份实习的工作,是在某互联网公司的无线搜索部做一个C++工程师。当时的我可谓意气风发,想要大干一场,结果第一次上线就写了人生中第一个Casestudy。由于对部署环境的不了解,把SVN库里的配置文件错误地发到线上,并且上完线就去吃晚饭了,等吃饭回来发现师傅在焦头烂额地回滚配置。那次故障造成了一个核心服务20分钟不可用,影响了几百万的用户。这仅仅是一个开始,在后来半...

2018-09-10 11:13:07 238

转载 Java NIO系列五之拥抱Path和Files

一 文件I/O基石:PathJava7中文件IO发生了很大的变化,专门引入了很多新的类来取代原来的基于java.io.File的文件IO操作方式:import java.nio.file.DirectoryStream;import java.nio.file.FileSystem;import java.nio.file.FileSystems;import java.nio.f...

2018-08-15 11:17:09 189

转载 Java NIO系列七之 AsynchronousFileChannel异步文件通道

Java7中新增了AsynchronousFileChannel作为nio的一部分。AsynchronousFileChannel使得数据可以进行异步读写。下面将介绍一下AsynchronousFileChannel的使用。创建AsynchronousFileChannel(Creating an AsynchronousFileChannel)AsynchronousFileChanne...

2018-08-15 11:13:31 1008

转载 JAVA NIO系列六之NIO学习总结以及NIO新特性介绍

我们知道是NIO是在2002年引入到J2SE 1.4里的,很多Java开发者比如我还是不知道怎么充分利用NIO,更少的人知道在Java SE 7里引入了更新的输入/输出 API(NIO.2)。但是对于普通的开发者来说基本的I/O操作就够用了,而NIO则是在处理I/O性能优化方面带来显著性效果。更快的速度则意味着NIO和NIO.2的API暴露了更多低层次的系统操作的入口,这对于开发者而言则意味着更复...

2018-08-15 11:12:03 140

转载 Java NIO系列四之Selector(选择器)

一 Selector(选择器)介绍Selector 一般称 为选择器 ,当然你也可以翻译为 多路复用器 。它是Java NIO核心组件中的一个,用于检查一个或多个NIO Channel(通道)的状态是否处于可读、可写。如此可以实现单线程管理多个channels,也就是可以管理多个网络链接。 使用Selector的好处在于: 使用更少的线程来就可以来处理通道了, 相比使用多个线程,避免了...

2018-08-15 11:10:30 192

转载 Java NIO系列三 之 Channel(通道)

一 Channel(通道)介绍通常来说NIO中的所有IO都是从 Channel(通道) 开始的。 从通道进行数据读取 :创建一个缓冲区,然后请求通道读取数据。 从通道进行数据写入 :创建一个缓冲区,填充数据,并要求通道写入数据。 数据读取和写入操作图示:Java NIO Channel通道和流非常相似,主要有以下几点区别: 通道可以读也可以写,流一般来说是单向...

2018-08-15 11:09:26 181

转载 Java NIO系列二 之 Buffer(缓冲区)

一 Buffer(缓冲区)介绍Java NIO Buffers用于和NIO Channel交互。 我们从Channel中读取数据到buffers里,从Buffer把数据写入到Channels.Buffer本质上就是一块内存区,可以用来写入数据,并在稍后读取出来。这块内存被NIO Buffer包裹起来,对外提供一系列的读写方便开发的接口。在Java NIO中使用的核心缓冲区如下(覆盖了通...

2018-08-15 11:08:03 180

转载 Java NIO系列一之概览

一 NIO简介Java NIO 是 java 1.4 之后新出的一套IO接口,这里的的新是相对于原有标准的Java IO和Java Networking接口。NIO提供了一种完全不同的操作方式。NIO中的N可以理解为Non-blocking,不单纯是New。它支持面向缓冲的,基于通道的I/O操作方法。 随着JDK 7的推出,NIO系统得到了扩展,为文件系统功能和文件处理提供了增强的支持...

2018-08-15 11:06:32 120

转载 KAFKA--几个基本概念

几个基本概念:    Kafka是一个分布式流数据系统,使用Zookeeper进行集群的管理。与其他消息系统类似,整个系统由生产者、Broker Server和消费者三部分组成,生产者和消费者由开发人员编写,通过API连接到Broker Server进行数据操作。我们重点关注三个概念:    Topic,是Kafka下消息的类别,类似于RabbitMQ中的Exchange的概念。这是逻辑上的概...

2018-07-19 15:48:53 850

转载 java队列——queue详细分析

Queue: 基本上,一个队列就是一个先入先出(FIFO)的数据结构Queue接口与List、Set同一级别,都是继承了Collection接口。LinkedList实现了Deque接 口。 Queue的实现1、没有实现的阻塞接口的LinkedList: 实现了java.util.Queue接口和java.util.AbstractQueue接口  内置的不阻塞队列: Prior...

2018-07-19 15:17:30 149

转载 并发队列ConcurrentLinkedQueue和阻塞队列LinkedBlockingQueue用法

 在Java多线程应用中,队列的使用率很高,多数生产消费模型的首选数据结构就是队列(先进先出)。Java提供的线程安全的Queue可以分为阻塞队列和非阻塞队列,其中阻塞队列的典型例子是BlockingQueue,非阻塞队列的典型例子是ConcurrentLinkedQueue,在实际应用中要根据实际需要选用阻塞队列或者非阻塞队列。注:什么叫线程安全?这个首先要明确。线程安全就是说多线程访问...

2018-07-19 11:16:45 486

转载 分布式之消息队列复习精讲

为什么写这篇文章?博主有两位朋友分别是小A和小B:小A,工作于传统软件行业(某社保局的软件外包公司),每天工作内容就是和产品聊聊需求,改改业务逻辑。再不然就是和运营聊聊天,写几个SQL,生成下报表。又或者接到客服的通知,某某功能故障了,改改数据,然后下班部署上线。每天过的都是这种生活,技术零成长。小B,工作于某国企,虽然能接触到一些中间件技术。然而,他只会订阅/发布消息。通俗点说,就是调调API。...

2018-06-26 17:27:00 154

原创 MYSQL 分区自动管理

一、 MYSQL的分区表简介1. 什么是表分区?是指根据一定规则,将数据库中的一张表分解成多个更小的,容易管理的部分。从逻辑上看,只有一张表,但是底层却是由多个物理分区组成。例如:CREATE TABLE `rangeyear_t1_kafka_consume_log` (`id` int(11) NOT NULL COMMENT 'id',`create_time` datetime ...

2018-06-26 15:17:22 3358 1

原创 MySQL表自动生成Java实体类

最近开发报表到web页面展示,由于数据库中标字段多达50多个,写起来非常费劲,写下这个工具, talk is cheap, show the codes...package com.sf.test;import java.io.File;import java.io.FileWriter;import java.io.IOException;import jav...

2018-06-25 17:36:22 3018 1

原创 Spring定时器多定时任务配置

&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springfr

2018-05-10 14:08:59 902

转载 java对redis的基本操作

一、server端安装  1、下载    https://github.com/MSOpenTech/redis    可看到当前可下载版本:redis2.6        下载windows平台文件:              解压后,选择当前64位win7系统对应的版本:       2、安装    1)解压后将里面所有文件拷贝至redis安装目录:          几个exe程序的功能: ...

2018-04-12 10:09:39 128

转载 java中几种常见的NPE问题

1、Map下的NPE      直接上代码:[java] view plain copypublic class User {        private Integer id;        private String name;        public Integer getId() {    

2018-01-29 15:28:41 2628

转载 在Java8的foreach()中使用return/break/continue,不会跳出循环

今天使用lambda表达式处理集合时,发现对return、break以及continue的使用有点迷惑,于是自己动手测试了一下,才发现在使用foreach()处理集合时不能使用break和continue这两个方法,也就是说不能按照普通的for循环遍历集合时那样根据条件来中止遍历,而如果要实现在普通for循环中的效果时,可以使用return来达到,也就是说如果你在一个方法的lambda表达式中使用

2017-12-29 11:52:14 56489 4

转载 Mysql查询结果顺序按 in() 中ID 的顺序排列

[java] view plain copy"queryGBStyleByIDs" resultMap="styleMap">          select style_num_id ,style_id,style_title,style_pic FROM  gb_style where online = 1 AND  is_hide = 0 and styl

2017-12-11 17:57:35 423

原创 jquery timeline插件展示操作记录

近期产品提出需要记录管理员在使用小助手APP时的登陆, 转单,派单,退出等关键操作,在web页面展示,要求工作时间轴的形式展现。想到了jquery  timeline插件。  1 。引入两个js,  jquery.timelinr-0.9.53.js, jquery.min.js,   style.css等文件  2 。jsp页面关键代码如下 3。js页面调用如下

2017-11-14 16:17:32 1308

转载 hibernate一级缓存和二级缓存的区别

缓存是介于应用程序和物理数据源之间,其作用是为了降低应用程序对物理数据源访问的频次,从而提高了应用的运行性能。缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在特定的时刻或事件会同步缓存和物理数据源的数据。  缓存的介质一般是内存,所以读写速度很快。但如果缓存中存放的数据量非常大时,也会用硬盘作为缓存介质。缓存的实现不仅仅要考虑存储的介质,还要考虑到管理缓存的并发

2017-09-25 15:48:55 167

转载 Java 代码性能优化总结

前言代码优化,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了。代码优化也是一样,如果项目着眼于尽快无BUG上线,那么此时可以抓大放小,代码的细节可以不精打细磨;但是如果有足够的时间开发、维护代码,这时候就必须考虑每

2017-09-11 17:47:41 196

转载 JS事件冒泡及阻止冒泡3种方法之间的不同

什么是JS事件冒泡?:在一个对象上触发某类事件(比如单击onclick事件),如果此对象定义了此事件的处理程序,那么此事件就会调用这个处理程序,如果没有定义此事件处理程序或者事件返回true,那么这个事件会向这个对象的父级对象传播,从里到外,直至它被处理(父级对象所有同类事件都将被激活),或者它到达了对象层次的最顶层,即document对象(有些浏览器是window)。  如何来阻

2017-08-31 11:22:58 326

转载 java跳出多重嵌套循环

在Java里面,我们知道有goto这个关键字,但是实际却没有啥作用,这就让我们不像在c/c++里面能够随便让程序跳到那去执行,而break只能跳出当前的一个循环语句,如果要跳出多个循环体那么该怎么办呢。我们可以这样解决:我们可以在循环体开头设置一个标志位,也就是设置一个标记,然后使用带此标号的break语句跳出多重循环。[java] view plain copy

2017-07-10 22:31:10 195

原创 nginx反向代理配置

最近做项目,需要实现下面功能。           1. 应用服务器上的nas上挂载有html,images等文件是骑士岗前培训考试,骑士登陆app侯需要通过互联网访问应用服务器上的岗前培训考试页面。                 2.app应用下载地址的页面放在nas上,通过微信扫描二维码需要访问该页面,点击页面上的安卓下载需要访问应用服务器上的接口提供app应用信息【应用名称,大小,

2017-07-10 18:18:09 247

转载 nginx反向代理及负载均衡

前言本文只针对Nginx在不加载第三方模块的情况能处理哪些事情,由于第三方模块太多所以也介绍不完,当然本文本身也可能介绍的不完整,毕竟只是我个人使用过和了解到过得。所以还请见谅,同时欢迎留言交流Nginx能做什么1.反向代理2.负载均衡3.HTTP服务器(包含动静分离)4.正向代理以上就是我了解到的Nginx在不依赖第三方模块能处理的事情,下面详细说明每种功能怎么做

2017-07-10 18:07:16 315

原创 orcale实现跨库查询,dblink使用

最近做系统的时候,有这样子一个需求,需要跨orcale数据库实现搜索功能,便想到了使用orcale的dblink。--zl2lz是数据库链接名,khsafelz,kehao是zl数据库用户名,密码,khsafelz是xx数据库SIDcreate database link zl2lz connect to khsafelz identified by kehao using '(DESCRI

2017-06-23 14:20:02 586

原创 word转htm,excel转htm, doc转pdf

常用文档格式转换,doc转htm,excel转htm, doc转pdf格式以便查阅。 要求:1、需要依赖jacob-1.14.3.jar2、jacob-1.14.3-x64.dll 【如果编译报错缺少缺少该文件,需要将该文件放入  x://windows/system32目录下,然后将该文件复制到jdk的lib目录下,才可以正常编译,谢谢。】package com.sf.test;

2017-06-23 14:08:53 561

原创 ant打包项目,部署

1. 下载ant并安装2.配置环境变量ant_home : e:\apache-ant-1.8.0ant_paht   : e:\apache-ant-1.8.0\bin3. 打包项目进入打完标签的项目目录,java项目名称为khsafety打开dos命令窗,  cd e:khsafe/khsafety敲入命令"ant" 回车键,开始打包

2017-06-23 10:21:21 397

原创 orcale 游标

1、Oracle查看Oracle最大游标数        sys/admin@test151 as sysdba2.Oracle查看当前打开的游标数目        select count(*) from v$open_cursor;  3.修改Oracle最大游标数        alter system set 

2017-06-23 10:19:29 213

原创 sqldeveloper 数据导入导出

第一步,打开sql developer找到菜单栏中的工具栏第二步,选择“数据库导出”栏第三步, 打开导出向导,设置导出参数条件注意一: 选择要导出的数据库注意二: “显示方案”和“存储”在导出时候要取消勾选,否则导出会不成功注意三: 将”删除“勾选注意四: 导出的时候要选择“单独目录”注意五:

2017-06-23 10:18:15 13804 1

原创 jquery周历插件jqueryweekcalendar汉化实现【带节日】

最近接到一项工作任务,需要展示并打印一周内24小时的排班信息,便想到使用jquery周历插件实现,下面是效果图尚未经过美工打磨。下面说下,实现过程。一、依赖的js文件/plugins/jquery-week-calendar-master/full_demo/reset.css' />/plugins/jquery-week-calendar-master/libs/css/

2017-06-22 17:08:48 10448 1

原创 java导入、导出excel

近期做到关于java导入导出excel的功能,有感甩出下面代码。package com.sf.sgs.ops.utils;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.i

2017-06-22 16:46:26 403

转载 mysql主从复制、读写分离、分库分表、分片

数据库水平切分的实现原理解析——分库,分表,主从,集群,负载均衡器(转)第1章 引言随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题。对于一个大型的互联网应用,每天几十亿的PV无疑对数据库造成了相当高的负载。对于系统的稳定性和扩展性造成了极大的问题。通过数据切分来提高网站性能,横向扩展数据层已经成为架构研发人员首选的方式。水平切分数据库:可以降低单台机器的

2017-06-22 16:23:42 6000

原创 spring集成百度编辑器

近期接到工作任务,在线hmtl5技术预演,将文字或图片生成html文件作为培训课件供app用户参与考试,想到了百度编辑器,于是乎就引入了百度编辑器功能。先说下依赖文件:js模块资源文件:{ "imageActionName": "uploadimage", "imageFieldName": "upfile", "imageMaxSize": 2

2017-05-02 16:20:19 291

原创 js生成指定范围内的随机数

近期用到产生指定范围内随机数,琢磨了一下,码了下砖function getRandomInt(min, max) {return Math.floor(Math.random() * (max - min + 1)) + min;}alert(getRandomInt(100000,10000000))

2017-04-14 22:48:34 272

原创 动态新增删除一行,js对象表单验证

动态新增一行:/** * 新增一行 */function addNewColumn(id,index) { //row_count = getNowRowCount(id); var html = ''; html += ''; html += ''; html += ''; html += '固定值区间值'; html += ''; html += ''; html

2017-03-29 19:57:38 698

hbae表数据导出

一、可以指定待导出的表名。 二、可以为每个导出表独立设置待导出的字段信息(由列簇和列名组成,格式如:info:waybill_no),设置文件内容中字段的显示顺序。 三、可以指定文件内容属性:字段间的分隔符、首行是否显示字段名、是否显示rowkey内容。 四、可以指定生成文件的属性:文件扩展名、文件存储路径。 五、数据过滤时,通过startRow和stopRow来过滤数据导出范围。 六、文件存储的绝对路径为:文件存储路径(配置)+文件名(程序自动生成)+文件扩展名(配置)。 其中,文件名的格式为:数据类型名称(可配)+下划线分隔符(_)+文件生成时间(年月日时分秒)+下划线分隔符(_)+三位随机数。 七、前端下载时自动将表数据打包 例:收件报表_20160415000000_168.log

2016-09-22

hbase表操作工具类

hbase表操作工具类.连接hbase数据库,根据rowkey删除单条记录,批量删除记录。获取某个字段的值,判断记录是否存在,向hbase表中插单条数据,批量插入到hbase表。 查询表,获取某个字段的值列表,hbase工具

2016-09-22

java导入导出excel

通过java反射自动将对象列表写入excel文件和读出excel数据封装成对象列表,类似序列化和反序列化机制,支持对象属性过滤和Label重命名,后续还会改进。 类结构:抽象父类ExcelHelper, 实现类JxlExcelHelper, HssfExcelHelper, XssfExcelHelper分别继承ExcelHelper,可以随意切换实现。其中JxlExcelHelper通过JXL处理excel2003文档,HssfExcelHelper和XssfExcelHelper通过POI分别处理excel2003和excel2007文档。 依赖的jar包:jxl.jar, poi-3.10.1.jar, poi-ooxml-3.10.1.jar, poi-ooxml-schemas-3.10.1.jar 标签: JXL POI 代码片段(8)

2016-09-22

MapReduce实例

使用MapReduce读取hbase数据库中千万级别的数据,处理数据并统计,将统计后的结果存入mysql

2016-04-18

空空如也

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

TA关注的人

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