自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

张俊杰 的博客

本人能力有限,都是瞎写的...这个博客是平时给自己学习记录和工作遇到的问题解决啥的碎片化的随便写写的 , 这是我的语雀地址 yuque.com/zjj1994/

  • 博客(552)
  • 资源 (6)
  • 问答 (1)
  • 收藏
  • 关注

转载 IDEA 超全优化设置

原文https://blog.csdn.net/zeal9s/article/details/83544074显示工具条(1)效果图(2)设置方法标注1:View–>Toolbar标注2:View–>Tool Buttons设置鼠标悬浮提示(1)效果图(2)设置方法File–>settings–>Editor–>General–>勾选Show quick documentation…显示方法分隔符(1)效果图(2)设置方法Fi

2021-06-21 14:00:19 1

原创 Java ApachePOI Excel 设置强制换行

效果文章超过长度了自动换行.核心设置样式代码 CellStyle wrapText = workbook.createCellStyle(); wrapText.setWrapText(true); // 设置强制换行的然后cell设置演示代码 cell.setCellStyle(wrapText);下面是项目代码,仅供参考关注注释中带//!!!的代码即可,其它代码都是业务代码,你们看了没啥用.public <T> void insertValueIntoExcel

2021-06-17 16:54:24 6

原创 Postman7 中文版本

Postman-7.29.0-win64-汉化版安装包和程序在一起链接: https://pan.baidu.com/s/1huayHidsqUjNOjLe8elx0Q提取码: p8f6 复制这段内容后打开百度网盘手机App,操作更方便哦

2021-06-16 17:07:46 5

原创 在 OpenResty 开发中遇到的那些和 Lua 相关的坑。

出自 温铭 -OpenResty从入门到实战 专栏在前面内容中,我们提到了一些 Lua 和其他开发语言不同的点,比如下标从 0 开始、默认全局变量等等。在 OpenResty 实际的代码开发中,我们还会遇到更多和 Lua、 LuaJIT 相关的问题点, 下面我会讲其中一些比较常见的。这里要先提醒一下,即使你知道了所有的 坑,但不可避免的,估计还是要自己踩过之后才能印象深刻。当然,不同的是,你能够更块地从坑里面爬出来,并找到症结所在。下标从 0 开始还是从 1 开始第一个坑,Lua 的下标是从 1 开

2021-06-16 13:29:14 3

原创 Lua 独有的或不太常用的概念

出自 温铭 -OpenResty从入门到实战 专栏弱表首先是 弱表(weak table),它是 Lua 中很独特的一个概念,和垃圾回收相关。和其他高级语言一样,Lua 是自动垃圾回收的,你不用关心具体的实现,也不用显式 GC。没有被引用到的空间,会被垃圾收集器自动完成回收。但简单的引用计数还不太够用,有时候我们需要一种更灵活的机制。举个例子,我们把一个 Lua 的对象 Foo(table 或者函数)插入到 table tb 中,这就会产生对这个对象 Foo 的引用。即使没有其他地方引用 Foo,tb

2021-06-12 13:50:54 46 1

原创 剖析Lua唯一的数据结构table和metatable特性

和其他具有丰富数据结构的脚本语言不同,LuaJIT 中只有 table 这一个数据结构,并没有区分开数组、哈希、集合等概念,而是揉在了一起。让我们先温习下之前提到过的一个例子:local color = {first = "red", "blue", third = "green", "yellow"}print(color["first"]) --> output: redprint(color[1])

2021-06-12 13:16:25 8

原创 LuaJIT分支和标准Lua有什么不同?

这节课,我们来学习下 OpenResty 的另一块基石:LuaJIT。今天主要的篇幅,我会留给 Lua 和 LuaJIT 中重要和鲜为人知的一些知识点。而更多 Lua 语言的基础知识,你可以通过搜索引擎或者 Lua 的书籍自己来学习,这里我推荐 Lua 作者编写的《Lua 程序设计》这本书。当然,在 OpenResty 中,写出正确的 LuaJIT 代码的门槛并不高,但要写出高效的 LuaJIT 代码绝非易事,这里的关键内容,我会在后面 OpenResty 性能优化部分详细介绍。我们先来看下 LuaJI

2021-06-12 12:49:59 17 1

原创 Lua常用标准库

很多时候,我们学习一门语言,其实就是在学习它的标准库。Lua 比较小巧,内置的标准库并不多。而且,在 OpenResty 的环境中,Lua 标准库的优先级是很低的。对于同一个功能,我更推荐你优先使用 OpenResty 的 API 来解决,然后是 LuaJIT 的库函数,最后才是标准 Lua 的函数。OpenResty的API > LuaJIT的库函数 > 标准Lua的函数,这个优先级后面会被反复提及,它不仅关系到是否好用这一点,更会对性能产生非常大的影响。不过,尽管如此,在实际的项目开发

2021-06-12 12:24:26 17 1

原创 Lua数据类型

简介Lua 中的数据类型不多,你可以通过 type 函数来返回一个值的类型,比如下面这样的操作:$ resty -e 'print(type("hello world")) print(type(print)) print(type(true)) print(type(360.0)) print(type({})) print(type(nil)) '会打印出如下内容:string function boolean number table nil

2021-06-12 12:12:36 8 1

原创 Java 代码OOM内存溢出检查

编写OOM程序package com.example.demo;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RestController;import java.util.ArrayList;@RestControllerpublic class TestController { @GetMapping("/hello")

2021-06-12 11:45:24 11 1

原创 OpenResty编写HelloWorld案例

修改nginx.conf配置文件修改 /usr/local/openresty/nginx/conf 路径下的nginx.conf 配置文件在http模块儿里面添加 server { listen 8080; location / { content_by_lua ' ngx.say("hello, world") '; } }热加载配置文件在任意一个地方执

2021-06-12 11:44:39 15

原创 OpenResty 安装后的目录结构

主要包含了 bin、luajit、lualib、nginx、pod 这几个子目录.[root@zjj101 openresty]# ll总用量 252drwxr-xr-x. 2 root root 123 6月 11 16:45 bin-rw-r--r--. 1 root root 22924 6月 11 16:45 COPYRIGHTdrwxr-xr-x. 6 root root 56 6月 11 16:45 luajitdrwxr-xr-x. 6 root ro

2021-06-12 11:44:28 14

原创 OpenResty读取Lua脚本的案例

编写Lua脚本路径在/lua/hello.lua编写 hello.lua 内容: ngx.say("hello, world")[root@zjj101 lua]# pwd/lua[root@zjj101 lua]# cat hello.lua ngx.say("hello, world")[root@zjj101 lua]#配置OpenResty的nginx.conf配置文件nginx.conf文件修改内容http模块儿里面添加server模块儿 server

2021-06-12 11:44:20 11

原创 OpenResty关闭Lua脚本缓存-lua_code_cache

lua_code_cache 说明nginx+lua开发时因为已经加载进内存,修改lua脚本不会起作用,这样不方便调试。nginx配置中将lua_code_cache配置成on/off来控制是否关闭lua 的cache缓存,如果设置为off.则每次修改lua脚本都会重新加载新的lua代码,从而实现快速调试响应。同时状态为off时启动或重启nginx都会提示:nginx: [alert] lua_code_cache is off; this will hurt performance in /path/t

2021-06-12 11:44:13 15

原创 OpenResty配置环境变量

修改/etc/profile配置文件内容是:# 配置OpenResty环境变量export OPENRESTY_HOME=/usr/local/openresty/export PATH=${OPENRESTY_HOME}/bin:$PATH#设置rocketmq环境变量export ROCKETMQ_HOME=/root/soft/rocketmq-all-4.4.0-bin-releaseexport PATH=${ROCKETMQ_HOME}/bin:$PATH刷新配置文件执行

2021-06-11 17:13:19 7

原创 3.OpenResty 的三大特性

详尽的文档和测试用例没错,文档和测试是判断开源项目是否靠谱的关键指标,甚至是排在代码质量和性能之前的。OpenResty 的文档非常详细,作者把每一个需要注意的点都写在了文档中。绝大部分时候,我们只需要仔细查看文档,就能解决遇到的问题,而不用谷歌搜索或者是跟踪到源码中。为了方便起见,OpenResty 还自带了一个命令行工具restydoc,专门用来帮助你通过 shell 查看文档,避免编码过程被打断。不过,文档中只会有一两个通用的代码片段,并没有完整和复杂的示例,到哪里可以找到这样的例子呢?对于

2021-06-11 16:55:12 1

原创 2.OpenResty 的发展

OpenResty 并不像其他的开发语言一样从零开始搭建,而是基于成熟的开源组件——NGINX 和 LuaJIT。OpenResty 诞生于 2007 年,不过,它的第一个版本并没有选择 Lua,而是用了 Perl,这跟作者章亦春的技术偏好有很大关系。但 Perl 的性能远远不能达到要求,于是,在第二个版本中,Perl 就被 Lua 给替换了。 不过,在 OpenResty 官方的项目中,Perl 依然占据着重要的角色,OpenResty 工程化方面都是用 Perl 来构建,比如测试框架、Linter、C

2021-06-11 16:52:16 5

原创 1.为什么学习 OpenResty

 为什么学习 OpenResty,这是开篇的第一个问题。我们正身处技术日新月异的时代,经常听到周围的工程师开玩笑说,学不动了。人的精力有限,选择学习某个技术都会有机会成本。最好的选择,是从你工作中涉及到的部分出发,学以致用。 对于服务端工程师来说,如果你的工作中涉及到 NGINX、高性能、高并发、动态控制、性能测试和分析等,那么不管开发语言和平台是什么,这门 OpenResty 课程都会让你有所裨益。如果你之前没有接触过 OpenResty,我确信它会给你打开另外一个服务端世界的大门。 OpenRest

2021-06-11 16:51:36 15

原创 Linux安装OpenResty

说明Linux 是Centos7安装依次执行下面的命令:# 安装依赖库:yum install -y pcre-devel openssl-devel gcc curl# 下载版本 wget https://openresty.org/download/openresty-1.15.8.1.tar.gz# 解压 tar -xzvf openresty-1.15.8.1.tar.gz# 进入解压目录 cd openresty-1.15.8.1/ # 检查配置环境, 生成 Makefi

2021-06-11 16:48:56 8

原创 [Linux错误解决]-bash: vim: 未找到命令

错误[root@zjj101 redis-5.0.3]# vim redis.conf-bash: vim: 未找到命令解决sudo yum install vim执行命令完了即可安装…

2021-06-11 13:34:45 10 1

原创 Linux centos7安装redis5

1.redis 5 的下载解压下载:wget http://download.redis.io/releases/redis-5.0.3.tar.gz解压:tar -zxvf redis-5.0.3.tar.gz移动到/usr/local目录下:mvredis-5.0.3 /usr/local/ 2.Redis安装及验证Redis主要运行在Linux、BSD、Mac中,如果在make阶段报错,最有可能是你的环境没有安装C语言的编译环境,需要安装gcc,安装依赖:命令:yum install g

2021-06-11 13:22:16 21 1

原创 Postman 8中文版本

https://www.yuque.com/docs/share/d3cbf48d-c01d-4529-989d-cebe19462e97?# 《Postman汉化版 下载_张俊杰 的博客-CSDN博客》

2021-06-11 11:26:52 26 1

转载 IDEA开发工具的Debug使用

Debug用来追踪代码的运行流程,通常在程序运行过程中出现异常,启用Debug模式可以分析定位异常发生的位置,以及在运行过程中参数的变化。通常我们也可以启用Debug模式来跟踪代码的运行流程去学习三方框架的源码。一、Debug开篇首先看下IDEA中Debug模式下的界面。如下是在IDEA中启动Debug模式,进入断点后的界面,我这里是Windows,可能和Mac的图标等会有些不一样。就简单说下图中标注的8个地方:① 以Debug模式启动服务,左边的一个按钮则是以Run模式启动。在开发中,我一般会直

2021-06-11 11:17:22 2

原创 Java 测试代码片段调用时长小工具

每次都要在方法前后写System.currentTimeMillis() 什么的太麻烦.干脆就写了一个小东西…小东西package com.feihe.util;/** * 测试代码片段性能的一个小工具 * 这样用 * TestTimeConsumingUtils test = new TestTimeConsumingUtils(); * //业务逻辑代码.................. * test.printTime("doAssembleDataByExcelSheet");

2021-06-10 09:51:30 4

转载 Idea上使用git未保存代码切换分支导致代码丢失的解决方法

原文https://blog.csdn.net/qq_41510551/article/details/109138089

2021-06-08 11:20:38 10

原创 自己收集的IDEA插件[从自己word笔记粘过来的,暂时别看,很乱,有时间慢慢整理]

(一)*翻译插件的使用*****Translation****https://blog.csdn.net/opiqi/article/details/82184733如何获取密钥https://blog.csdn.net/qq_38288606/article/details/80522233创建应用的时候 一定要选择 api的方式, 不要选择安卓啥的,不然不管用(二)*Dao和xml跳转的插件*****Free Mybatis plugin****https://www.yuque.com/d

2021-06-08 09:43:58 20

原创 flink 流式处理 wordcount

import org.apache.flink.api.java.utils.ParameterToolimport org.apache.flink.streaming.api.scala._// 流处理 word countobject StreamWordCount { def main(args: Array[String]): Unit = { // 创建流处理执行环境, val env: StreamExecutionEnvironment = StreamExecu

2021-06-05 12:40:17 8

原创 Flink 入门wordcount

txt文档内容hello worldhello flinkhello scalahow are youfine thank youand youscala代码import org.apache.flink.api.scala._// 批处理 word countobject WordCount { def main(args: Array[String]): Unit = { // 创建一个批处理的执行环境,这里是批处理环境,流处理环境和这个批处理环境不一样的.

2021-06-05 11:03:33 4

原创 scala语言的一些简写 记录,持续更新

.flatMap(x => x.split(" “)) 可以简写成 .flatMap(_.split(” "))

2021-06-05 10:47:12 8

原创 DataGrip使用入门

连接Datagrip最近看到一款数据库客户端工具,DataGrip,是大名鼎鼎的 JetBrains 公司出品的,就是那个出品 Intellij IDEA 的公司。DataGrip 是一款数据库管理客户端工具,方便连接到数据库服务器,执行 sql、创建表、创建索引以及导出数据等。之前试用的客户端工具是 dbvisualizer,但是在试用了 DataGrip 以后,我就决定抛弃 dbvisualizer。我相信,当你第一眼看到 DataGrip 以后,会有一种惊艳的感觉,就好比你第一眼看到一个姑娘,就是那

2021-06-04 15:34:53 21

原创 Java ApachePOI Excel 设置只有指定列可编辑,并且允许调整列宽或者禁用列宽

效果当时产品经理的需求只有指定的列指定内容允许修改,其它地方都不允许修改和新增,如图下,只有红色框框内容允许修改,红色框框以外均不能修改,下面的空白的excel也不允许新增操作只要你修改就会弹出下面的警告解决代码我是根据公司的通用的 POI工具类改造的,写的比较粗.大概是那个意思,不要纠结细节,后续代码有优化我再发出来.重点看我下面代码注释带有"!!! "感叹号的代码,这个是控制excel是否编辑的核心代码./** * * @param collection 每行数据的集合

2021-06-01 10:19:08 11

原创 XYplorer设置-右键新建word文档或者md文档

将模版放到指定的文件夹下自己新建word文档或者其它markdown文档放到D:\Program Files (x86)\XYPlorer\Data\NewItems目录下检查XYplorer配置此时会打开一个名字为 xyplorer.ini的配置文件通过查找:CEA_ListRightClickOnWhite 关键字,将其值设置为:1如下:CEA_ListRightClickOnWhite=1重启XYplorer打开XYplorer软件 点击文件选重启不保存,这样的目的是让配置生效.

2021-05-26 13:24:03 32

原创 为了执行SQL语句,你知道MySQL用了什么样的架构设计吗?

原文从零开始带你成为MySQL实战优化高手 – 中华石杉1、把MySQL当个黑盒子一样执行SQL语句上一讲我们已经说到,我们的系统采用数据库连接池的方式去并发访问数据库,然后数据库自己其实也会维护一个连接池,其中管理了各种系统跟这台数据库服务器建立的所有连接我们先看下图回顾一下​ 当我们的系统只要能从数据库连接池获取到一个数据库连接之后,我们就可以执行增删改查的SQL语句了从上图其实我们就可以看到,我们可以通过数据库连接把要执行的SQL语句发送给MySQL数据库

2021-05-16 13:53:19 33

原创 MySQL数据库的连接池是用来干什么的?

数据库连接池到底是用来干什么的?接着我们来思考一个问题,一个Java系统难道只会跟数据库建立一个连接吗?这个肯定是不行的,因为我们要明白一个道理,假设我们用Java开发了一个Web系统,是部署在Tomcat中的,那么Tomcat本身肯定是有多个线程来并发的处理同时接收到的多个请求的,我们看下图。这个时候,如果Tomcat中的多个线程并发处理多个请求的时候,都要去抢夺一个连接去访问数据库的话,那效率肯定是很低下的我们看下面的图那么如果Tomcat中的每个线程在每次访问数据库的时候,都基于MySQL

2021-05-16 13:41:02 66 1

原创 MySQL驱动到底是什么东西?

MySQL驱动到底是什么东西?大家都知道,我们如果要在Java系统中去访问一个MySQL数据库,必须得在系统的依赖中加入一个MySQL驱动,有了这个MySQL驱动才能跟MySQL数据库建立连接,然后执行各种各样的SQL语句。那么这个MySQL驱动到底是个什么东西?我们先来看下面的一段maven配置,这段maven配置中就引入了一个MySQL驱动。这里的mysql-connector-java就是面向Java语言的MySQL驱动。大家都知道,如果我们要访问数据库,必须得跟数据库建立一个网络连接,那么

2021-05-16 13:33:46 60

原创 Java的浅拷贝和深拷贝

https://www.2cto.com/kf/201401/273852.html实现对象拷贝的类,必须实现 Cloneable 接口,并覆写 clone() 方法创建一个指向对象的引用变量的拷贝,地址值是相同的,那么它们肯定是同一个对象, 这就叫做引用拷贝。创建了新的对象, 而不是把原对象的地址赋给了一个新的引用变量, 这就叫做对象拷贝深拷贝和浅拷贝都是对象拷贝​浅拷贝被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象。即对象的浅拷贝会对 “主” 对

2021-05-12 20:23:02 67 6

转载 MySQL 派生表(Derived Table)是什么

本文将通过演示告诉你:MySQL 中派生表(Derived Table)是什么?以及 MySQL 对它的优化。Background有如下一张表:mysql> desc city;+------------+-------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+------------+-------------+------+-----

2021-05-10 20:18:26 58

原创 为什么我们必须要不停的学习?--转自中华13的[从 0 开始带你成为消息中间件实战高手]专栏

1、为什么我们必须要不停的学习?相信只要对技术有追求的朋友都会不停地学习,因为技术领域发展非常快速,要想不被淘汰,就得不停学,甚至终身学习,不断迭代更新自己的技术能力。否则有些人虽然做着工程师的工作,但是仅仅满足于完成基本工作任务,那么技术能力会一直停滞不前。最后,当整个行业的技术发展到一定程度时,你若是没跟上这些技术的发展,就会被行业淘汰。举个简单的例子,如果一直以来你在线上生产环境部署时,都是采用的把项目打成一个war包,然后放到线上机器的Tomcat中,再重启Tomcat这种方式。那么当你有一

2021-05-07 22:39:27 25

原创 [Java问题解决] Java String类型字符串去掉空格

去所有的空格,不管前面后面还是字符串中间有空格,都会被去掉.guideCodeValue.replaceAll(" ", “”)

2021-05-07 13:20:34 22

原创 [windowsbug]修改或者移动文件夹的时候提示:提示系统找不到指定位置

应该是误删了注册表,我试着给出一个解决方案:运行-regedit打开注册表然后找到以下路径Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion如果你发现这个路径下没有 CommonFilesDir (x86) 和 CommonFilesDir 这两个注册表文件,就说明是这里的问题解决方法是直接右键新建一个string value, 对文件重命名:CommonFilesDir (x86)CommonFiles

2021-05-06 11:30:59 11

ssm整合通用mapper

ssm整合通用mapper,如题,,适合新手去看,如题Spring4 mybatis3 好早以前弄的了, 适合新手看看,

2019-02-11

json格式转换工具

可以把json格式的代码转换成,用起来挺不错的.

2018-02-15

mysql-connector-java-5.1.27.jar

mysql-connector-java-5.1.27-bin.jar jar包, 可以用这个连接MySQL的,, 适合MySQL5 版本的,, 很不错......

2020-10-29

WPS Office.10.1.0.6875(无联网功能)

WPS Office.10.1.0.6875(无联网功能) 这是没有联网功能,单纯就是wps的文本,没有广告,没有登录功能, 绿色版的.压缩后只有80m 还有wps表格功能.我现在就在用,挺好用的比world2016要小巧

2018-03-31

sqoop-1.4.6.bin__hadoop-2.0.4-alpha

sqoop-1.4.6.bin__hadoop-2.0.4-alpha 导入导出工具,, 可以去官网下载, 也可以用这个

2020-10-29

简单的ajax异步Crud项目

是自己写的简单的异步CRDU 项目,我本人也是一个菜鸟,当时什么都不会,自己写异步写了半天,现在自己写出来了,供新手学习,里面有ajax异步页面, 以及传智封装的分页

2018-05-12

空空如也

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

TA关注的人 TA的粉丝

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