- 博客(80)
- 资源 (3)
- 收藏
- 关注
原创 数组求交集
考虑一个问题,上面stream的方式,如果list2很大怎么办,这个效率会怎么样呢?结合数据结构知识哪个查询负责度低,肯定是Map了吧,顺着思路调整一下。如果你希望在两个 List 中找到任意一个交集元素即算成功,你可以使用一些适用于这种情况的方法,而不必找出所有的交集元素。到这里只能算是完成了,下面追求一下完美。使用 Stream API 遍历一个 List,使用。方法查找是否存在交集元素。
2023-08-15 16:43:50
167
原创 webflux-1-概念的理解
公司最近新项目选用了webFlux作为基础架构,也在缓慢的学习中。只因奈何相关API文档太少了,新版本的资料那就更少了,国内很多教程都是老版本的,只能是摸着石头过河。本系列的东西只是我个人鉴于文章之日的理解,肯定有不对的地方,如果您发现了,劳烦辛苦回复指出,先感谢。程序员的危机1.webflux完全拉低了程序员菜鸟和老鸟的差距,只要你用webflux写代码写出来的代码在性能上不会再有天壤之别了。目这是对传统程序员的一种冲击,工作年限可能真不是问题了。函数式流编程是未来!2.传统应用架构师常用 切
2021-03-09 19:00:09
549
原创 webflux-2-项目搭建
SpringBoot 2.3.1 + jdk1.8第一步新建项目,pom加入,这里只贴出核心的,最后会放上完整的项目地址<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-webflux</artifactId> </dependency&...
2021-03-09 18:59:04
298
1
原创 RESP协议知识点
本文默认你是使用过redis并了解redis的基础概念,学习redis入门并不难,给你介绍各种API使用也没啥意思。在这里 不会给你堆各种专业词汇,只有大白话什么是协议? 就是一种格式规范,使用者们都要遵循这种规范已达到数据的可传递性和通用性,比如在7层网络模型中应用层的https协议,全世界的计算机都遵循它才有了互联网的快速发展, 现在基本每个架构在使用公用协议的基础上都会有自己的小协议,这么想吧 只要涉及到数据传递的都会使用协议。我们的redis当然也有自己的小本本了。就是RESP协...
2020-05-13 16:53:37
1891
2
原创 深入浅出AOF功能和AOF重写两个知识点
本文默认你是使用过redis并了解redis的基础概念,学习redis入门并不难,给你介绍各种API使用也没啥意思。在这里 不会给你堆各种专业词汇,只有我个人理解的大白话这里没别的 先来张总原理图,花10秒时间记一下,跟游戏打副本一样,先看下地图 做到脑子里有个大概的脉络,这里也是平时工作中比较常用的一种工作思考方式,遇到难的问题如果没思路就先忙别的,我们的大脑会在后台保持这个问题并且会时不时的激活一下,同样的时间做了多件事。高考时老师说拿到试卷先看一遍最后的作文题目在开始答题,一样的思想AOF功能
2020-05-13 14:08:24
4170
3
原创 记录 对供货商财务报表的导出的优化
场景:每个月跑完结算数据,生成各个供货商的结算报表数据 一份离线报表的生成 受供货商订单的数量影响 ,时间在 5秒~30秒,尤其在购物节或者有推广活动时,时间还会增加 一份报表的生成 需要包括 订单信息,结算数据,商品信息,发货信息。第一版:查询所有供货商 。循环生成报表,(无疑是有问题的)第二版: 1.经过分析发现,其实每份报表的独立性是...
2020-04-25 23:04:36
183
原创 redis哨兵选举条件
edis哨兵模式是redis的高可用架构的一种方式,它的出现是为了解决主从模式下主节点挂了不能自动故障转移的问题,下面是比较简单的哨兵的架构实际上手搭建过哨兵的同学应该知道,一个哨兵里有个配置sentinel monitor mymaster 35.236.172.131 6379 1,但是也没配置从的ip和其他哨兵的ip,其实他们都是通过主这台机器来进行的关联,主是多么的重要啊...
2020-03-25 20:04:20
3643
原创 redis的过期策略在持久化时的处理
rdb1。生成rdb文件:生成时,程序会对键进行检查,过期键不放入rdb文件。2。载入rdb文件:载入时,如果以主服务器模式运行,程序会对文件中保存的键进行检查,未过期的键会被载入到数据库中,而过期键则会忽略;如果以从服务器模式运行,无论键过期与否,均会载 入数据库中,过期键会通过与主服务器同步而删除。aof1。当...
2020-03-25 19:58:37
304
原创 redis-server和redis-benchmark使用简略
redis-server详解./redis-server ./redis.conf & //指定配置文件启动./redis-server --test-memory 1024 //检测操作系统能否提供1G内存给redis, 常用于测试,想快速占满机器内存做极端条...
2020-03-25 19:57:17
168
原创 synchroized和Lock的初级笔记
面试官:synchroized和Lock的区别是什么?一般公司开始面试多线程时第一个问题基本都是这个了,也是能最能看出面试者水平的一个问题了,有一句话:自己知道的越多,发现知道的越不多。听起来是不是很拗口,就看你看待问题的深度了。。我这里也是针对面试,没有涉及到真正的底层语义。。1、Lock是一个接口他有很多实现类,而synchroized是个关键字 ,是java唯一一个内置锁...
2020-02-12 23:48:21
266
原创 ExecutorService 的使用
ExecutorService 是大神Doug Lea在并发包里为我们提供的一个便携式的线程池的操作接口,一般使用Executors 来创建各种类型的线程池,大家比较脸熟的是下面四种newSingleThreadExecutor 创建一个单线程化的线程池,它只会用唯一的工作线程来执行任务,保证所有任务按照指定顺序(FIFO, LIFO, 优先级)执行。newCachedT...
2020-02-06 16:10:11
1065
原创 关于小程序上传 java服务端的接收
昨天调试微信小程序的上传,记录下 也能帮其他人少点弯路。看小程序文档 上传的API里有下面这个参数java服务端的接收" title="关于小程序上传 java服务端的接收" style="margin:0px; padding:0px; border:0px; list-style:none">其实很明白就是给上传的文件起个别名,关键是java服务器怎么去获取。文档里说了
2017-09-27 11:01:53
545
原创 一次神奇的图片"消失"的事件
这个故事发生在上周末。我们的APP 有用户反映用4G网络打开APP会图片不加载,返回桌面在进来就能加载出图片。于是自己测了几次并没有重现。觉得这是不是用户自己的网络不好呢,也就不再管。加下来的几天反馈的人多了,并且自己也遇到了好几次。这是怎么回事,我们的图片都是走CDN加速的 (具体CDN加速的原理不在这里解释)怎么能忽然就不加载了呢,牢骚是牢骚的问题还是需要确定的,于是用手机开始测试。清
2017-05-27 16:51:40
431
原创 微信页面登录授权和分享那些事
微信现在在我们的生活中已经是必须品了,很多公司都会基于微信做很多的推广活动,就例如 投票吧,一个页面分享出去让好友来帮忙投票,为了保证投票的准确性往往需要投票先登录自己的微信号完成登录授权后再进行投票,保证 一个用户只能投票一次,这里就要涉及到微信的网页登录和授权和分享,关于分享主要是分享时的链接/标题/描述文字/分享图标我们可以自定义,因为如果你不配置微信分享分享就是你当前页的信息,虽然微信提供
2015-06-26 11:20:26
7762
4
原创 jfreechart产生饼状图,折线图,柱状图
第一步:导入三个JAR包:gnujaxp.jar(在SSH整合时会出现冲突可不要,不影响使用),jcommon-1.0.0.jar,jfreechart-1.0.1.jar第二步:创建工具类ChartUtilpackage com.wnkj.util;import java.awt.Color;import java.io.PrintWriter;import javax.
2015-06-02 15:50:04
631
原创 DisplayTag汉化
1.在SRC下新建displaytag.properties,名字不要写错2.将下面的代码复制到displaytag.properties中保存(这里的编码格式都是用的unicode)paging.banner.items_name=\u6d88\u606fpaging.banner.no_items_found=\u6ca1\u6709\u627e\u5230{0}\u8bb0\u5
2015-06-02 15:49:02
761
原创 android中的ellipsize
最近为了解决某个bug,textview中内容过长的话自动换行,但是调用measureText函数时发现返回值很不准确,单位也不确定,是 pixel还是dip,都不准。后来想起textview中有个内容过长加省略号的属性,即ellipsize,可以较偷懒地解决这个问题,哈哈~用法如下:在xml中android:ellipsize = "end" 省略号在结尾a
2015-06-02 15:47:01
379
转载 Android EditText 的属性
EditText的属性很多,这里介绍几个:android:layout_gravity="center_vertical"设置控件显示的位置:默认top,这里居中显示,还有bottomandroid:hint="请输入数字!"设置显示在空间上的提示信息android:numeric="integer"设置只能输入整数,如果是小数则是:decimalandroid:s
2015-06-02 15:45:49
398
原创 android获取当前经纬度,并用地图显示跟踪
最近做了一个android的小东西(愁了一星期):通过手机获取当前经纬度,通过线程(异步)时时通过socket向服务器发送定位数据,并调用google地图来追踪,并用textView来显示运行时的日志。关于怎样试用google地图这里就不啰嗦了,还用到了一些协议的解析和封装的,也就省略了在配置文件中添加的权限: 1.<!-- 声明链接换联网的权限 -->2.在app
2015-06-02 15:44:41
1067
转载 使用BigDecimal进行加、减、乘、除
import java.math.BigDecimal;//使用BigDecimal进行加、减、乘、除void BigDecimal(){BigDecimal a=new BigDecimal(new String ("1234567890123456789012345678901234567890123456789012345678901234567"));BigDecima
2015-06-02 15:43:21
1380
原创 android Button美化
四个配置文件: 放入res/drawable目录中:android:state_enabled="" 是否有效android:state_focused="" 是否聚焦android:state_pressed="" 是否被按下button_bg.xml android
2015-06-02 15:40:47
1306
原创 Spring2.5+struts2.0+ibatis整合
各个框架在本项目内的作用:spring2:主要利用ioc,以及对事物的管理,减少硬性编码和脱离手动事务控制。struts2:主要用于MVC以及数据校验。struts2摆脱了struts1性能上的瓶颈,达到了新的高度,配置更灵活,全面支持ajax,freemark等等,采用ognl动态语言使得输出也更加灵活。iBatis:主要用于作orm。开发效率不如hibernate,但是
2015-06-02 15:38:07
559
原创 JasperReports学习
最近使用了JasperReports和iReport制作了几个报表,这片文章是我的一些总结。JasperReports是一个开源的java报表制作引擎http://jasperreports.sourceforge.netiReport是JasperReports的一个GUI工具,用来生成JasperReports的jrxml文件。http://ireport.source
2015-06-02 15:37:17
714
原创 SSI框架整合成功,后与xfire 整合
Struts2 + spring2.5 + ibatis 框架整合已成功。(前面已经说明)XFire是与Axis 2并列的新一代Web Service框架,通过提供简单的API支持Web Service各项标准协议,帮助你方便快速地开发Web Service应用。相对于Axis来说,目前XFire相对受欢迎,加上其提供了和Spring集成的支持,在目前的Web Service开源社
2015-06-02 15:36:17
526
原创 SSI2整合,spring和xfire 整合之后,加入Struts2 上传下载功能
SSI的整合和Spring跟XFIRE整合之后,接下来带来是的上传下载:下面直接加入上传下载功能。项目目录:整合之后,加入Struts2 上传下载功能" title="继SSI2整合,spring和xfire 整合之后,加入Struts2 上传下载功能" height="452" width="264" style="margin:0px; padding:0px; border:
2015-06-02 15:35:29
428
原创 使用jasperreports制作报表(导出pdf excel html)
最近项目需要制作报表类操作,所以在网上查了查资料找了找朋友帮我整了整,现在已经能跟顺利跑起来了,所以将这些东东写成文档,以备忘记。首先需要下载 ireport ,这个是进行报表设计的,如果不会使用,可以上网查查具体用法,等会我会贴上我自己做的一个简单的小例子。需要下载的资源:ireport http://jasperforge.org/plugins/project/pro
2015-06-02 15:35:17
1051
原创 使用jasperreposts生成报表方法一
使用jasperreposts生成报表:我总结了三种方法,说方法之前呢,先来点开胃的,导包(我这里使用的是最细发布的4.1.1,工具Eclipse,struts2+Spring+iBatis)(我这里的包是单独使用的时候的)开始:第一种方法:在后台生成报表保存到本地,然后再读取到jsp页面中1).后台生成报表的工具类package wohai.base.util.u
2015-06-02 15:32:51
1282
转载 jResourceBundle解析配置文件详解
java.util.ResourceBundle使用详解 一、认识国际化资源文件 这个类提供软件国际化的捷径。通过此类,可以使您所编写的程序可以: 轻松地本地化或翻译成不同的语言 一次处理多个语言环境 以后可以轻松地进行修改,支持更多的语言环境 说的简单点,这个类的作用就是读
2015-06-02 15:32:33
362
转载 iReport使用解析
一、iReport与JasperReport简介1.1 简介JasperReport是报表的引擎部分,界面设计是用iReport。为什么选择这两个软件呢?因为这两个软件都是开源的,即免费的(虽然某些文档收费,但是磨灭不了我们使用它的理由)。JasperReport是一个报表制作程序,用户按照它制定的规则编写一个XML文件,然后得到用户需要输出的格式文件。它支持输出的文件格式
2015-06-02 15:30:57
910
原创 使用jasperreposts生成报表方法二,三
第二种方法:在后台工具类中将我们要需要的报表类型转成byte数组,然后再jsp页面重组得到报表,补充一下我这里的是直接让报表在浏览器中在线打开的(三种方法都是)工具类:package com.unite.util_jasperreports;import java.io.ByteArrayOutputStream;import java.io.File;import jav
2015-06-02 15:30:43
597
原创 在Ireport4.0.1下实现PDF中文报表
下载安装根目录如D:\Program Files\iReport-4.0.1,在其下目录D:\Program Files\iReport-4.0.1\ireport\modules\ext中包括了许多应用所需要的jar文件。打开ireport,工具>选项>iReport>Classpath>在里面添加jar:添加ext目录下的iText-2.1.7.jar和iTextAsian.jar两个jar;
2015-06-02 15:28:34
670
原创 ireport中的几个小问题
ireport中的几个小问题:1.ireport 中对于$F{propertyName},$V{variableName}如何换行2.ireport中如果静态文本太多如何换行3.ireport中如何解决换行导致的单元格对不齐问题4.在ireport中如何把java.util.Date属性显示成yyyy-MM-dd形式,默认ireport的Date显示形式为"09-10-11 上午1
2015-06-02 15:28:33
1469
原创 ajax传送中文乱码
前言:ajax向后台传送中文时出现的乱码,有时在本地正常运行。但是放到服务器时(linux系统)出现乱码,头 痛很长时间,正文:1.get方式提交 1.全站UTF-8编码; 2.请求头编码为中文; 3.使用javascript中的escape函数对url进行转义,使用可以参考下面的代码。 但这些方法在PO
2015-06-02 15:23:08
417
转载 为什么用Spring来管理Hibernate?
为什么要用Hibernate框架?这个在这里不解释。既然用Hibernate框架访问管理持久层,那为何又提到用Spring来管理以及整合Hibernate呢?首先我们来看一下Hibernate进行操作的步骤。比如添加用户的一个步骤。看截图,可以看出,Hibernate操作的步骤如下:1. 获得Configuration对象2. 创建Ses
2015-06-02 15:22:23
516
转载 display:none 小记
我们经常会使用 display:none 来隐藏我们不需要显示的控件(不会占用空间),但是呢,由于不同的浏览器对这丫的解释不一样会给我们带来麻烦、下面的是我在网上看到的解释: 原来Firefox、Opera、IE、Chrome对display:none的理解是不一致的。Firefox、Opera理解display:none中的内容无需在初次加载中显示,所以它们会延后里面的内容加载,甚至
2015-06-02 15:19:21
852
原创 eclipse下切换svn用户 (换用户登录)
在eclipse中经常用到用svn进行代码版本控制,为了提交或更新代码的时候不反复地提示我们输入用户名和密码,于是我们就习惯把访问SVN的用户名密码自动保存起来。以便下次自动使用,不要再次手工输入,但是有些时候需要变更密码或者用户名, 就有些麻烦了,下面是二种解决办法: 1、通过删除SVN客户端的账号配置文件 1)查看你的Eclipse中使用的是什么SVN
2015-06-02 15:15:46
544
转载 resizeTo()和resizeBy()方法
使用resizeTo()和resizeBy()方法可以调整浏览器窗口的大小。这两个方法都接受两个参数,其中resizeTo()接受浏览器窗口新宽度和新高度,而resizeBy()接受新窗口与原窗口的宽度和高度只差。来看下面的例子://调整到100×100 window.resizeTo(100, 100); //调整到200×150 window.resizeBy(100, 50); //调整
2015-06-02 15:14:17
2435
转载 两段简单的JS代码防止SQL注入
1.URL地址防注入://过滤URL非法SQL字符 var sUrl=location.search.toLowerCase(); var sQuery=sUrl.substring(sUrl.indexOf("=")+1);re=/select|update|delete|truncate|join|union|exec|insert|drop|count|’|"|;
2015-06-02 15:13:46
1031
转载 securecrt 中文乱码
SecureCRT是一个非常优秀的终端登录工具,可以以telnet ,ssh,串口多种方式从终端登录服务器,并且可以非常方便的进行复制和粘贴,工作原因是我每天必用之工具。但从昨天开始,我的CRT登陆suse操作系统,凡是中文字符都显示为乱码,很是不适应。试了好几种方法最后终于解决,特此记录。 解决步骤: 1.修改SecureCRT设置:选项(Options)->会话选项(Session
2015-06-02 15:12:33
447
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人