自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

浪里小白龙

IT技术分享和交流

  • 博客(43)
  • 收藏
  • 关注

原创 常用注解大全

Java学习中,注解是不可或缺的,有些可以简化代码,有些可以使用功能,下面一一讲解常用的注解。开始之前,首先在IntelliJ IDEA中安装Lombok插件。

2022-11-08 16:58:40 1260 1

原创 Mybatis入门实战

Mybatis快速入门,构建Java项目

2022-11-04 17:23:13 728

原创 Oracle:In和Exist的用法对比

In和Exist的用法对比

2022-10-11 17:08:38 360

原创 Elasticsearch索引数据生成和导入

Es索引数据生成和导入

2022-10-09 17:35:53 572

原创 Elasticsearch的聚合

详细说明实现联想的方法。

2022-09-29 17:08:20 417

原创 Elasticsearch的查询

本文介绍使用Elasticsearch进行查询的语句和代码。

2022-09-13 18:06:03 789

原创 Elasticsearch的配置

项目里有一些查询和报表页面,在数据量比较大的情况下,如果每次都调用数据库,会造成服务器压力和不必要的开销,可以对常用且不需要实时的数据使用Elasticsearch存储和查询,提高运行效率。

2022-09-09 17:06:15 1680

原创 Rabbitmq在工作中的应用

工作中会遇到一些流程复杂、处理耗时的任务,直接执行在高并发时可能会导致服务器阻塞,以前放入mission表,用定时任务取出来处理,但是低并发时实时性比较差,现在用消息队列可以更方便的应对,不但减轻服务器和数据库的压力,还能降低业务之间的耦合。

2022-09-02 17:08:55 730

原创 Swoole在工作中的应用

众所周知,PHP的特点是开发效率高,适应当下多变的节奏,但是缺点也明显,就是不能常驻内存,跟数据库无法建立长连接,I/O开销和频繁实例化成为PHP性能的瓶颈。

2022-09-01 17:51:15 849

原创 Redis在工作中的应用

Redis作为常用缓存,在工作中经常要使用到,对于一些常用又不变的数据,使用Redis可以缓解查询数据库的压力。

2022-08-31 17:17:04 221

原创 Trie字典树在工作中的应用

项目中有时需要对文案过滤屏蔽词,违禁网址等,或者在审核中展示高亮词,涉及到对关键字的查找。这里介绍字典树的实现方法。字典树是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串,所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。...

2022-08-30 17:16:29 226

原创 常见问题整理

常见问题整理

2022-06-23 16:28:31 476

原创 Java虚拟机

了解什么是JVM,以及JVM的作用、结构、算法、启动流程、配置参数、监控命令和工具等。

2022-06-23 15:56:10 6265 1

原创 Java性能调优

Java性能优化方案

2022-06-22 17:17:49 100

原创 Java安全手册

Java安全手册

2022-06-22 16:49:57 682

原创 J2EE框架项目编程规范

J2EE框架项目编程规范,是以架构组组件开发为基础的编程规范,JAVA基础编程规范是J2EE项目编程规范的基础。

2022-06-21 17:15:56 355

原创 Java编程规范

本文档主要用来对java编码规范方面的说明。

2022-06-21 16:30:07 3288

原创 IDEA安装

Java的集成开发平台很多,目前流行的IDE是JetBrains公司的IntelliJ IDEA,使用作为Java项目的开发平台(JetBrains家的PhpStorm也好用)。以IntelliJ IDEA 2021.2为例,下载安装包,双击进行安装。点击Next>进入下一步,设置安装选项,根据自己操作系统的类型勾选32位或者64位,我这里是64位,其他选项一致勾选。如图勾选,点击Next>进入下一步,设置启动菜单的名称。点击Install进行安装直到安装结束。等待安装结束后点击Finsh,完成安装。

2022-06-20 16:51:42 1538

原创 Java环境安装

以 jdk-17.0.1为例,下载 jdk-17_windows-x64_bin.exe,安装JDK时,除了根据需要修改安装目录外,其他的点击【下一步】,直到安装结束。请记住这里的JDK安装目录,下一步配置环境变量会使用!新建JAVA_HOME变量单击"开始-设置-系统-关于-高级系统设置",弹出如下对话框:单击"环境变量"在弹出的对话框中系统变量下点击“新建”填写变量名"JAVA_HOME",变量值 “E:\Program Files\Java\jdk-17.0.1”(即JDK的安装路径)。在系统

2022-06-20 16:26:21 270

原创 工作中常见问题汇总(不定期更新)

基于工作中遇到的一些问题,总结一下经验:单双引号的区别Textarea之坑

2021-10-11 14:36:58 444

原创 IPv4和IPv6的正则表达式

最近做到项目调整支持IPv6,总结一下:IPv4的正则表达式IPv4通常用点分十进制记法书写,例如10.100.51.148,其中的数字都是十进制,中间用实心圆点分隔。 /*验证IPv4*/ private function validateIPv4($ip) { return preg_match("/^((25[0-5]|2[0-4]\d|[01]?\d\d?)($|(?!\.$)\.)){4}$/", $ip); }一 每段为0-255的数字,有时加

2021-09-29 17:28:20 1094

原创 PHP用file_get_contents 显示其他服务器图片

接到一个需求,审核页面显示客户端上传的图片,img标签用于在HTML页面中嵌入一个图像。定义路径线上目录软链接到对方服务器的文件夹,线下自己建立测试用。 if (RUN_ENVIRONMENT == 'ONLINE'){ define('ImgPath', '/Img/'); }else{ define('ImgPath', '/www/upfile/Img/'); }写一个PHP文件,用file_get_contents读取图片的字节流,设置header为打印图片。

2021-09-27 17:59:50 596

原创 PHP 经典算法面试题(Trie字典树) 附解答 (四)

最近做的算法题,比较适合新手入门。找出一个数组元素在另一个数组中下一个更大的元素。给你两个 没有重复元素 的数组 nums1 和 nums2 ,其中nums1 是 nums2 的子集。找出 nums1 中每个元素在 nums2 中的下一个比其大的值。nums1 中数字 x 的下一个更大元素是指 x 在 nums2 中对应位置的 右边的第一个 比 x 大的元素。如果不存在,对应位置输出 -1 。示例: 给定数组 nums1 = [2, 6, 7],nums1 = [4, 2, 8, 6, 5,

2021-09-15 15:22:33 144

原创 Ajax跨域解决方案之jsonp

$.ajax( { url: url, //路径 async: false, //同步 type: "get", //请求方式 dataType: "jsonp", //跨域 jsonp: "callback", //回调函数的参数名 data: data, cache: false, /*发送前执行方法*/ beforeSend: function () { }, /*成功...

2021-09-10 13:59:18 217

原创 Oracle:CLOB大数据字段类型的使用

我们在Oracle数据库存储的字符数据一般是用 VARCHAR2,最大长度4000,通常情况下能满足存储需求,但是碰到记录日志或者拼接的id集合可能就不够,Oracle提供了大数据类型LOB,最多能容纳4GB,分为BLOB和CLOB两种:BLOB即二进制大型对象,适用于存贮非文本的字节流数据,CLOB则用来存储文本型的数据。相当于Mysql 的 Text,只是没有区分那么细。如下新建一张日志表:可以看到数据库里CLOB也是不直接显示的,需要点开编辑。Oracle在插入时会做隐式转换,默认把字符串

2021-09-09 14:52:36 3819

原创 PHP接口通信的几种方式

不同项目组之间经常使用接口通信,整理常用的几种方式如下。一 . Curl模拟Http请求最常用的通信方式,可以获取或改动少量数据,也可以让对方进行某种操作,响应时间限制很短。接口文档:调用代码: /** * @brief 调用在线培训接口 * @note * @author jichenghan * @param $p_aInput * @date 2020-11-05 * @return array */ public fun

2021-09-06 17:30:40 1094

原创 Oracle:获取连续日期和level的使用

接到一个需求,新建广告,可以设置日期范围,且同一天投放的广告总数不能超过资源数。比如设定资源数为2,已经有0826-0831和0831-0906的广告,就不能再新建了,难点在于需要统计排期在这个范围内的广告数量。表结构如下:首先,调用系统函数获取日期:select to_char(sysdate, 'yyyy-mm-dd') from dual;然后,在对表执行层次树遍历的select语句中使用level:select to_date(?, 'yyyy-mm-dd') + level -

2021-08-31 15:27:47 742

原创 Vue:深度监听watch 和 计算属性computed

深度监听 watch通常用于监听某个对象发生改变时,调用需要执行的方法,类似于js里面onchange或者addEventListener的作用。之前遇到一个问题,公司的日期组件有个bug,把设定的显示值当作默认值,这样就算不操作,日期对象里也会有值,无法用是否为空来判断用户选择过。于是我加了一个监听,用户进行选择会触发,改变标志位的值。 watch: { startdate: { handler: function (newValue) { this.cli

2021-08-30 18:09:36 3417

原创 Oracle:批量删除优化

接到一个需求:网才Hi聊后台处理任务定时刷新Hi聊数量取消tuxedo服务器的后台任务/home/tuxapp/bin/initchat.sh在internal64位后台服务器设置定时后台任务,每天0点5分执行/www/bgshell/userchat/initchat.sh程序执行流程:(1) 从网才1库到网才4库顺序执行(2) 查询s_chat里id的最小值minid和最大值maxid(3) 按照id范围从minid到minid+ 100000(REFRESH_ID_LIMIT配置),

2021-08-27 19:21:52 722

原创 Oracle:like 模糊匹配的漏洞

Oracle like运算符通常在数据量不高的情况下,用于where表达式中,搜索匹配字段中的指定内容,一般和 % 或 _ 结合使用。如下查询user表中name字段含有 小白龙 的数据:SELECT * FROM user WHERE name LIKE '%小白龙%';但是使用like查询%时,因为%为通配符会被忽略,以致查询所有数据。解决方法:使用instr查询替换like查询。在数据量大的情况下,查询速度也更快。SELECT * FROM user WHERE instr(name,

2021-08-26 16:04:22 471

原创 Vue:ref和this.$refs的使用

官方文档的定义:ref 被用来给DOM元素或子组件注册引用信息。引用信息会根据父组件的 $refs 对象进行注册。如果在普通的DOM元素上使用,引用信息就是元素; 如果用在子组件上,引用信息就是组件实例。昨天遇到这样一个问题,产品要在页面上做一个上传excel的功能(虽然我也不知道为什么要这么设计),上传组件是另一个项目组写的JobUI,他们做了一个小叉按钮来删除附件,但是没有做监听,我试了下在上传的方法里可以清除附件upfile对象,却无法改变显示。于是我查了下他们的源代码。<div

2021-08-23 10:55:27 1812

原创 网络安全:漏洞类型和解决方案

网络安全一直是热门话题,当我们写代码时往往要注意,整理漏洞如下

2021-08-20 18:01:23 1604

原创 Json格式化样式参数JSON_PRETTY_PRINT

json是现在常用的数据交换格式,在数据量少的情况下,项目组之间可以使用生成的json文件来交互,相当于数据的缓存,php默认生成的json格式是字符串,有时我们需要格式化来让数据看起来更直观。像下图这样:json官方给出了第二个参数用来格式化样式。/* 缓存 */$sText = ' '.json_encode($aDataList, JSON_PRETTY_PRINT|JSON_FORCE_OBJECT);JSON_FORCE_OBJECT起到强制转换成对象的作用,防止关联数组在无值时转

2021-08-20 10:20:43 2922

原创 PHP 经典算法面试题 附解答 (三)

这几天做的算法题,有难度,欢迎指正或者提出更好的解决方案。给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有满足条件且 不重复 的三元组。注意:答案中不可以包含重复的三元组。示例: 给定数组 nums = [-1, 0, 1, 2, -1, -4]满足要求的三元组集合为:[ [-1, 0, 1],...

2020-04-13 16:58:29 304

原创 PHP 经典算法面试题 附解答 (二)

这段时间一直在研究算法题,产生了浓厚的兴趣,身边很多程序员不重视算法,可能感觉日常写代码用不到,实际上算法无处不在,百度搜索的结果,抖音推荐的视频,微博展示的话题。。。这个时代数据量达到了前所未有的程度,处理的信息量更是呈指数级的增长,越来越多的挑战需要靠算法来解决。对于任何一个项目,正确地运行和正确且高效的运行是两个概念,我写了很多ERP财务统计相关模块,里面有大量表单需要计算与整合,同时和大...

2020-04-10 20:42:39 357

原创 Laravel 学习笔记之 中间件

一个网站必须过滤进入应用程序的 HTTP 请求和权限检测,比如用户登录,用户是否有权限操作这个界面,菜单显示判断。在 ThinkPHP 里,往往通过继承一个基类,在初始化方法里调用检测方法,而Laravel 提供了中间件来验证身份或重定向,还可以负责为添加响应头或记录所有传入应用的请求。中间件使用 make:middleware 命令生成,放在 app\Http\Middleware 下。所有的...

2020-04-10 18:59:54 240

原创 Laravel 学习笔记之 路由和路由组

学习Laravel快一年,从对这个框架陌生到慢慢熟悉经历了一个过程,laravel是一个非常全面的框架,包含了Vue.js,PHPUnit,SASS,Redis,广播等很多组件,借鉴了Spring的IOC服务容器,使用绑定实现模块化解耦。相对于轻量级的ThinkPHP,开始上手Laravel很不习惯,尤其是手册写的晦涩难懂,经过漫长的学习过程,看了很多视频教程,通过自己一步步练习才理解,我在这里...

2020-04-09 22:35:43 996

原创 PHP Trait 特性和使用方法详解

众所周知,PHP Java 都是 单继承 语言,就是一个子类只有一个父类,优点是避免了多继承情况下,可能造成对基类中某成员的访问出现的二义性问题,就是两个父类都有同一个成员方法不知道选哪个,C++的多继承通过作用域运算符::进行了限定,但是不太方便,也不应该把父类显示在对象调用里。PHP 5.4.0 起 吸取了Python对多继承的处理,实现了一种 代码复用 的方法,称为 Trait。我在写 ...

2020-04-08 16:02:26 302

原创 浅谈 redis 缓存雪崩 缓存击穿 缓存穿透

在我们日常的开发中,涉及到涉及高并发大数据量的需求,经常需要使用redis作为缓存,但是可能出现缓存雪崩,缓存穿透,缓存击穿等问题,这里我简单举例讲下问题原因和解决方法。缓存雪崩假设我新开了一个网站,第一天有一些人来访问,我也挺开心,但是我忽视了一个情况,今天访问建立的缓存也差不多在同一时间失效,而且以后访问的人会更多,此时大量的请求会全部冲击到数据库上面,数据库有可能会因为承受不住而宕机。...

2020-04-07 11:44:56 138

原创 memcache redis mysql 过期策略和内存淘汰机制对比

memcache 和 redis 作为时下大热的缓存,当然是高并发项目必用的,而使用过程中难免出现内存溢出的情况,最近看了很多资料整理出该篇文章,同时和mysql对比做个详细总结。内存未满时memcache1.4.25及以前版本使用 惰性删除 机制,不会自动清理,page一旦被分配在重启前也不会被回收或者重新分配,直到访问发现item 已过期 才删除。之后版本会隔指定时间进行查找是否有...

2020-04-05 23:50:48 550

空空如也

空空如也

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

TA关注的人

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