- 博客(86)
- 收藏
- 关注
原创 类中的serialVersionUID什么作用
序列化版本UID,根据这个名字能判断出它是提供给序列化接口使用的,该UID是为了维持序列化版本一致性的。设想,ArrayList在某次升级后,多出了新的成员需要被序列化,那么在旧版本中序列化的内容就无法反序列化成新版本的ArrayList对象。...
2022-03-07 10:03:54
296
原创 JAVA异常处理实践
1.用 Assert(断言)替换 throw exception@Testpublic void test1() { ... User user = userDao.selectById(userId); Assert.notNull(user, "用户不存在."); ...}@Testpublic void test2() { // 另一种写法 User user = userDao.selectById(userId); if (
2022-03-03 14:37:36
496
1
原创 如何再SpringBoot启动后运行特定方法
如何再SpringBoot启动后运行特定方法启动类中继承public class Application implements ApplicationRunner { @Override public void run(ApplicationArguments args) throws Exception {}}public class Application implements CommandLineRunner { @Override public void run(Strin
2021-11-26 10:23:16
413
原创 JAVA下载文件
String url = "";RestTemplate restTemplate = new RestTemplate();HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory();HttpClient httpClient = HttpClientBuilder.create().setRedirectStrategy(new LaxRedirectStrategy()
2021-06-24 17:07:38
144
原创 免费小程序源码分享 博客
小程序二维码:源码地址:https://gitee.com/tonygeli/mini-blog.git其他小程序源码分享:
2021-02-01 15:55:49
863
1
原创 小程序源代码 古诗词
小程序源代码 古诗词1.代码地址https://gitee.com/tonygeli/open_gushici2.小程序预览3.部分截图4.项目结构.├── README.md├── project.config.json // 项目配置文件├── cloudfunctions | 云环境 // 存放云函数的目录│ ├── login
2021-01-27 14:06:23
3454
1
原创 多线程交替打印数字
import java.util.concurrent.atomic.AtomicInteger;public class VolatilePrinter { public static void main(String[] args) throws InterruptedException { AtomicInteger atomicInteger = new AtomicInteger(); atomicInteger.set(0); i.
2021-01-27 13:31:45
161
原创 Mac安装Mysql 8.0.13、修改root密码、Navicat Premium连接
利用brew安装mysql:Homebrew是macOS缺失的软件包管理器,使 macOS更完整,譬如可以安装Apple Store没有预装,但你需要的东西。更多详情请查看Homebrew官网:https://brew.sh/index_zh-cn.html一定要安装Homebrew成功。安装Mysql前,需要先把之前的文件清理干净(如果第一次安装,此步骤可忽略)执行下列命令sudo rm /usr/local/mysql sudo rm -rf /usr/local/mysql*
2020-11-09 21:04:57
276
原创 面试-系统设计题
系统设计题凡是不涉及高并发的,基本可以采用 Google 的三个技术解决,即 GFS、MapReduce 和 Bigtable,这三个技术被称为“Google 三驾马车”,Google 只公开了论文而未开源代码,开源界对此非常有兴趣,仿照这三篇论文实现了一系列软件,如 Hadoop、HBase、HDFS 及 Cassandra 等。在 Google 这些技术还未出现之前,企业界在设计大规模分布式系统时,采用的架构往往是 database+sharding+cache,现在很多公司(比如 taobao、w
2020-10-21 17:37:58
1006
原创 Spring IoC的理解
1. What 什么是IoCIoC全称Inversion of Control,直译为控制反转。2. Why 为什么使用我们假定一个在线书店,通过BookService获取书籍:public class BookService { private HikariConfig config = new HikariConfig(); private DataSource dataSource = new HikariDataSource(config); public
2020-09-28 11:33:14
306
原创 解析MongoDB的ObjectId
MongoDB的文档固定是使用“_id”作为主键的,它可以是任何类型的,默认是个ObjectId对象(在Java中则表现为字符串),那么为什么MongoDB没有采用其他比较常规的做法(比如MySql的自增主键),而是采用了ObjectId的形式来实现?别着急,咱们看看ObjectId的生成方式便可知悉。 ObjectId使用12字节的存储空间,每个字节两位十六进制数字,是一个24位的字符串。由于看起来很长,不少人会觉得难以处理,其实不然。ObjectId是由客户端生成的,按照如下方式生成:...
2020-09-28 10:23:27
1138
原创 JAVA8 stream操作
原始数据id vid sid 1 1 3001 2 1 3002 3 1 3003 4 3 4001 5 3 4002 6 3 4003 class Row { Integer id, Long vid, Long sid}// 1.查询vid=1,返回所有sid列表list.stream().map(Row::getVid).collect(Colle.
2020-09-24 14:46:47
149
原创 JACKSON 进行JSON数据处理
JAVA通过JACKSON处理JSON数据例如:入参为城市ID: "[11,23,37,45]" 字符串ObjectMapper mapper = new ObjectMapper();Integer[] cityIds = mapper.readValue(getCityId(), TypeFactory.defaultInstance().constructArrayType(Integer.class));...
2020-09-16 17:36:22
405
原创 PHP如何进行池化
Manager进程1.Worker进程: 接收数据、发送数据、定时器任务、业务逻辑2.Worker进程3.Task进程Master进程1.Reactor线程:Receive、SendTo
2020-09-14 14:41:18
227
原创 如何提高程序性能? 负载均衡技术
顾名思义,负载均衡意为将负载均匀平衡分配到多个业务节点上去。和缓存技术一样,负载均衡技术同样存在于计算机世界到各个角落。按照均衡实现实体,可以分为软件负载均衡(如LVS、Nginx、HAProxy)和硬件负载均衡(如A10、F5)。按照网络层次,可以分为四层负载均衡(基于网络连接)和七层负载均衡(基于应用内容)。按照均衡策略算法,可以分为轮询均衡、哈希均衡、权重均衡、随机均衡或者这几种算法相结合的均衡。而对于现在遇到等问题,可以使用nginx来实现负载均衡,nginx支持轮询、权重、IP
2020-08-27 10:51:00
316
转载 如何当好AI时代的产品经理?
http://www.lilaiqun.com/article-39AI 时代的产品经理,要不要学算法在过去的时代里,技术体系相对成熟,技术的发展和迭代主要集中在工程层面。对产品经理来说,有很多手段可以了解技术的能力和边界,比如移动时代到了,高强度用个百八十款 App,这个东西能做什么大概就心里有数了;在这个基础上,再去补一些浅显的相关介绍,请工程师吃几顿饭,基本就可以做产品设计和可行性判断了。然而,在人工智能时代,很多手段失效了,比如,我们想通过使用产品的方式去了解人工智能,我们能干什么呢.
2020-07-20 22:17:08
197
原创 PHP数组相关函数的使用
array_maparray_map — 为数组的每个元素应用回调函数应用场景:循环遍历数组,并赋值给其他变量$oriList = Array( [0] => Array ( [id] => 3182 [name] => aaaa6 [companyId] => 839 ) [1] => Array (
2020-07-09 11:44:41
172
原创 130个免费 微信小程序源码分享
130个免费 微信小程序源码分享 查看地址 - AppleMusic - B站首页界面设计:附详细教程 - FlexLayout布局 - HIapp - IT-EBOOK - LOL战绩查询 - Railay:整体框架 - TCP,IP长连接 - cnode社区版 - dribbble - gank - leantodu - movecss效果 - redux绑定 ...
2020-06-05 14:13:44
59422
8
原创 过滤文本中的emoji表情
/** * @Description 滤emoji 或者 其他非文字类型的字符 * @param source * @return */ public static String filterEmoji(String source) { if (StringUtils.isBlank(source)) { return source; } StringBuilder buf = new StringBuilder(); int len = source.length.
2020-06-05 10:34:08
1188
原创 多线程编程
进程Process VS线程Thread进程包含线程,多任务既可由多进程实现,也可以由多线程实现。多进程Process缺点:1.创建进程Process比线程Thread开销大2.进程间通信比线程间通信要慢,因为线程间通信就是读写同一个变量,速度快多进程Process优点:稳定性高,一个进程崩溃不会影响其他进程,但多线程会因为一个线程崩溃而崩溃多线程Thread特点...
2020-04-28 11:40:04
1133
原创 Go语言开发Web
Go语言提供了对Web编程的支持,自问世以来,Go语言在编写Web应用以及as-a-service system服务系统方便就受到了热烈追捧。本文将使用Go语言构建Web应用在开发大规模Web应用方面,Go语言提供了一种不同于现有语言和平台但有切实可行的方案。大规模Web应用通常需要具备以下特质:可扩展、模块化、可维护、高性能。可扩展Scalable意味着应用的管理者应该能够简单、快速...
2020-04-21 22:57:11
1316
原创 检查服务器是否被恶意登录
Ubuntu1. 查看近期成功的密码登录:grep "password" /var/log/auth.log | grep -v Failed | grep -v Invalid2. 查看最近登录失败的 IP 和每个 IP 失败次数:awk '{if($6=="Failed"&&$7=="password"){if($9=="invalid"){ips[$13...
2020-04-10 13:01:43
881
原创 Nginx反向代理
通过接口转发,防止豆瓣通过头信息屏蔽server { location / { proxy_pass https://api.douban.com; proxy_redirect off; # 核心在这里 proxy_set_header Referer "https://www.douban.com"; }...
2020-04-05 17:32:45
107
原创 Git删除没用分支
删除一个分支git branch -D branchName删除很多分支,比如除了master外的所有分支:// 切换到master分支git checkout master git branch | grep -v 'master' | xargs git branch -D1. git branch 查看本地所有分支2. grep -v 'master' 过滤除了m...
2020-03-26 10:09:56
987
原创 正则匹配 - preg_replace 函数使用
preg_replace 函数执行一个正则表达式的搜索和替换。语法mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )搜索 subject 中匹配 pattern 的部分, 以 replacement 进行...
2020-02-27 16:48:44
631
原创 Linux 开启system log
环境Ubuntu问题: php内置函数syslog日志无输出1.修改system配置文件20-ufw.conf 配置的是防火墙log50-default.conf 则是其他默认的log配置,我的配置如下所示,截出其中一部分vi /etc/rsyslog.d/50-default.confmail.* -/var/log/mail....
2020-01-13 17:22:54
2338
原创 【10分钟】理解 Dijkstra 算法实现原理
用途:用于求图中指定两点之间的最短路径,或者是指定一点到其它所有点之间的最短路径。实质上是贪心算法。注:Dijkstra算法适用于边权为正的无向和有向图,不适用于有负边权的图!...
2019-11-19 10:31:04
329
原创 PHP 远程代码执行漏洞
漏洞描述:Nginx 上 fastcgi_split_path_info 在处理带有 %0a 的请求时,会因为遇到换行符 \n 导致 PATH_INFO 为空。而 php-fpm 在处理 PATH_INFO 为空的情况下,存在逻辑缺陷。攻击者通过精心的构造和利用,可以导致远程代码执行。影响版本:Nginx + php-fpm 的服务器,在使用如下配置的情况下,都可能存在远程代码执行漏洞。 ...
2019-10-24 14:06:13
675
原创 Http Code 304
本文对http code 返回304场景流程记录304 Not Modified: 协商缓存,请求头中发送一定的校验数据到服务器,如果服务器数据没有改变浏览器从本地缓存响应,返回304。浏览器端发送请求,打开网页 http://blog.lilaiqun.com/15700882317067.htmlRequest URL: http://blog.lilaiqun.com/15700882...
2019-10-12 13:33:38
434
原创 awk统计访问日志access.log
awk如何使用简单文本处理中,功能强大的awk命令。下文详细描述使用方法与示例:语法:awk [选项参数] 'script' var=value file(s)或awk [选项参数] -f scriptfile var=value file(s)查看最新的访问日志$ tail -n 50000 /data1/logs/nginx/access.log0.012 0.012 10...
2019-10-12 11:34:40
472
原创 如何快速了解大数据开发
获取大数据视频扫描二维码获取大数据概述认识HADOOP分布式文件系统HDFS分布式调度框架YARN分布式计算框架MapReduceHadoop项目实战Hadoop分布式集群搭建Hadoop集成Spring的使用前沿技术扩展Spark,Flink,BeamHadoop3新特性...
2019-09-24 00:21:43
216
原创 Spring boot打包部署
1、打包:mvn clean package -Dmaven.test.skip=true 2、拷贝到服务器:scp target/HaHa.jar [email]root@192.168.12.132[/email]:/opt/javaapps 3、启动:java -jar sell.jar 4、更改端口:java -jar -Dserver.port=8090 sell.j...
2019-09-06 10:14:27
514
原创 大数据开发遇到的问题
1. mapreduce卡在mapreduce.Job: Running job查看日志cat logs/yarn-resourcemanager.local.logWARN org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.LeafQueue: maximum-am-resource-percent is in...
2019-08-12 15:21:10
925
1
原创 PHP CURL 请求
POST 请求$ch = curl_init();// set urlcurl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_POST, 1);curl_setopt($ch, CURLOPT_POSTFIELDS , json_encode($param));//return the transfer as a str...
2019-06-19 11:22:42
693
原创 Postman使用 - pre-request 预先请求使用
Postman使用 - pre-request 预先请求使用请求接口时,需要先获取用户的登录token。通过Pre-request Script功能可以先获取token并带入下次请求中。脚本内容:// 获取url中的参数var userId = pm.request.url.query.get('userId');var tokenUrl = 'http://api.test/serv...
2019-06-17 17:05:23
3953
原创 Leetcode 211 添加与搜索单词 - 数据结构设计
<?phpclass WordDictionary { private $root; /** * Initialize your data structure here. */ function __construct() { $this->root = new Node(); } /** *...
2019-05-08 10:27:13
139
原创 跨域 协议变化 http与https
跨域产生原因:不同域名 例:a.com => b.com不同端口 例:a.com:80 => a.com:90不同协议 例: http://a.com => https://a.com问题: 关于http跳转https接口,由于协议不同,产生跨域遵循CORSheader("Access-Control-Allow-Origin: http://" . ...
2019-04-02 10:31:28
4181
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人