2021 12-05

安全优雅地停止线程

首先,先抛出一个问题,该如何安全而优雅地停止线程? 这道问题的背后,可以很小,小到只是简单终止一个Thread线程,也可以很大,大到例如Dubbo应用的优雅下线......它们其实都有一个共同之处,即非一刀断式地暴力停止某个进程或者线程,而是能够实现在终止过程中,有机会去清理资源,跑完剩余的任务,最后没有任何资源在运行了,才做最后结束,这才算安全而优雅地停止。 在Java多线程当中,停止线程的方法,其中,有一个已经过期而不建议使用的方式stop(),它停止线程的方式比较简单粗暴,不保证线程的资源

2021 12-05

算法中级学习3

一、斐波那契公式(矩阵方法、快速幂) /** *@Author:郜宇博 *@Date:2021/11/2720:47 */ publicclassFibonacci{ publicstaticvoidmain(String[]args){ System.out.println(getFibonacci1(20)); System.out.println(getFibonacci2(20)); } publicstaticintgetFibonacci1(intN){ if(N==1){ ret

2021 12-04

内网穿透—使用 frp 实现内外网互通

前言 什么是内网穿透? 内网穿透,又叫NET穿透,是计算机用语。用通俗的说法就是你家里的个人电脑,可以直接被外网的人访问。例如你在公司,不通过远程工具,直接也可以访问到家里的电脑(本文章特指web应用程序)。 正常来说我们的个人电脑时无法被别人访问到的(有固定ip除外!),而且现在固定ip资源稀缺,运营商也不会随便给你分配了,个人申请也挺难。 为什么需要内网穿透? 就我个人而已,需要用到内网穿透的原因: 一是方便访问公司的内网环境,不喜欢使用远程工具,挺麻烦的。 二是方便把个人电脑上的应用开放到

2021 12-04

『与善仁』Appium基础 — 17、元素定位工具(一)

目录 1、uiautomatorviewer介绍 2、uiautomatorviewer工具打开方式 3、uiautomatorviewer布局介绍 4、uiautomatorviewer工具的使用 之前我们在做Web页面自动化测试的时候就说过,元素定位是页面自动化测试的第一步。 同理App自动化测试的第一步,也是元素的定位。 在APP中定位元素的话,需要借助一些元素定位工具。 APP中的元素定位工具大致有三种: uiautomatorviewer工具 AppiumInspec

2021 12-04

Python 面向对象程序设计

Python面向对象程序设计 目录 Python面向对象程序设计 1面向过程编程 2面向对象编程 3.面向过程和面向对象的优缺点 4.由浅入深了解面向对象 4.1学生选课为例 4.2类和对象 4.3属性的查找顺序 5.面向对象绑定方法 5.1小案例:计算一共产生了多少个对象 5.2绑定方法 5.3静态方法(非绑定方法) 6.隐藏属性 7.property装饰器 未完待续 1面向过程编程 面向过程——ProcedureOriented,是一种以过程为中心的编程思想,它

2021 12-04

Prometheus_exporter安装与使用

Promethues概述:可以看一下更详细的介绍,以下为转载的博客,原文链接,支持原创,请多多支持!!:闫世成的博客园 Prometheus-node-exporter 1、简介: 内核公开的硬件和操作系统指标的Prometheus导出器,用Go编写,带有可插入的指标收集器。 2、安装部署: wgethttps://github.com/prometheus/node_exporter/releases/download/v1.2.2/node_exporter-1.2.2.lin

2021 12-04

我的分布式微服务框架:YC-Framework

YC-Framework官方文档:http://framework.youcongtech.com/ YC-Framework源代码:https://github.com/developers-youcong/yc-framework.git YC-Framework问题反馈:https://github.com/developers-youcong/yc-framework/issues 一、YC-Framework的由来是什么? 我很早以前就想写一个框架了,但不确定写什么好,直到近几年分布式

2021 12-04

IO流中的字符输入输出流及try...catch处理流处理中的异常

使用字节流读取中文的问题 importjava.io.FileInputStream; importjava.io.IOException; /* 使用字节流读取中文文件 1个中文 GBK:占用两个字节 UTF-8:占用3个字节 */ publicclassDemo01InputStream{ publicstaticvoidmain(String[]args)throwsIOException{ FileInputStreamfis=newFileInputStream("D:\\envir

2021 12-04

SpringBoot 整合 MyBatis,实现 CRUD 示例

目录 前言 创建项目/模块 SpringBootConsoleApplication CommandLineRunner SpringBoot集成MyBatis 创建数据库/表 配置数据源/连接池 数据源 连接池 CRUD Create Read Update Delete 小结 前言 有JavaWeb应用开发经验的同学应该很熟悉Controller/Service/Dao这样的三层结构设计,MyBatis就是实现Dao层的主流方式之一,用于完成数据库的读写操作;Da

2021 12-04

LeetCode:旋转图像

题目描述 给定一个n × n的二维矩阵 matrix表示一个图像。请你将图像顺时针旋转90度。 你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。   作者:力扣(LeetCode) 链接:https://leetcode-cn.com/leetbook/read/top-interview-questions-easy/xnhhkv/ 来源:力扣(LeetCode) 著作权归作者所有。商业转载请联系作者获得授权