0%

第1章 编程规约

本章是传统意义上的代码规范,包括变量命名、代码风格、控制语句、代码注释、前后端规约等基本的编程习惯,以及从高并发场景中提炼出来的集合处理技巧与并发多线程的注意事项。

1.2 常量定义

  1. 不要使用一个常量类维护所有的常量,要按常量功能进行归类,分开维护。
1
2
说明:大而全的常量类杂乱无章,必须使用查找功能才能定位到要修改的常量,既不利于理解,也不利于维护。
正例:缓存相关常量放在类CacheConsts下;系统配置相关常量放在类SystemConfigConsts下。
  1. 常量的复用层次有五层:跨应用共享常量、应用内共享常量、子工程内共享常量、包内共享常量和类内共享常量。
1
2
3
4
5
1)跨应用共享常量:放置在二方库中,通常是在client.jar中的constant目录下。
2)应用内共享常量:放置在一方库中,通常是在子模块中的constant目录下。
3)子工程内部共享常量:即在当前子工程的constant目录下。
4)包内共享常量:即在当前包下单独的constant目录下。
5)类内共享常量:直接在类内部以private static final定义。
阅读全文 »

正则表达式是用于匹配、查找和操作文本的强大工具,通过定义特定模式来描述文本规则。

一、基础语法

(一)字符匹配

  1. 普通字符:直接匹配对应字符本身。例如,正则表达式 abc 能匹配字符串 “abc”,因为它精确匹配了这三个连续的字符。

  2. 元字符:具有特殊含义的字符。例如,. 匹配除换行符 \n 之外的任意单个字符。正则表达式 a.c 可以匹配 “abc”、“a1c”、“a c” 等,只要中间字符是单个任意字符(除 \n 外)。

    阅读全文 »

1、<<<<<<< HEAD >>>>>>> dev什么意思?

1
2
3
4
5
<<<<<<< HEAD
// 你的 'HEAD' 分支的代码
=======
// 你尝试合并的分支的代码
>>>>>>> dev

这表示你遇到了一个合并冲突。Git 在尝试合并两个分支时,如果发现有相同的文件在两个分支中都有修改,但是修改的内容不一致,Git 就无法自动合并这些更改,这时候就需要你手动解决冲突。

阅读全文 »

一、查找占用端口号的进程

在对端口号进行操作之前,需要先找到占用该端口号的进程,可以使用以下命令:

1
netstat -ano | findstr :端口号

其中,“端口号”是需要杀死进程的端口号。

执行该命令后,将会显示所有占用该端口号的进程,其中最后一列是该进程的PID(进程ID)。

阅读全文 »

整个六月都扑在一个政策搜索小程序项目上,项目包括网页管理系统和小程序两部分,网页管理系统用于上传现有政策,小程序端纯做展示和搜索功能。

网页管理系统包括前后端,使用行内脚手架开发,小程序使用百度低代码平台完成页面开发及接口交互。

阅读全文 »

兄弟分行做了一个客户信息管理系统,架构是后台管理系统+小程序的配置。后台管理系统即一个网站的部署,小程序使用了低码平台开发,可以远程推送在手机上测试。本文档主要用于网站部署过程的记录。

阅读全文 »

1.题目

大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。(n<=39)
斐波那契数列公式为:

2.思路分析

我们可以以求解f(10)为例来分析递归的求解过程。想要求得f(10),我们要先知道f(9)和f(8)。同样的,要求得f(9),需要先知道f(8)和f(7)。。。我们可以使用树形结构来表示这种依赖关系,如下图所示。

阅读全文 »

1.题目

把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 (NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。)

2.思路分析

&nbsp;&nbsp;&nbsp;&nbsp;我们可以注意到旋转之后的数组其实可以划分为两个排序的子数组,并且该数组的特点是前面的子数组中的元素总是大于或者等于后面子数组的元素。其中最小的元素正好是这两个数组的分界线。本题给出的数组在一定范围内是排序的,因此我们可以用二分查找法来实现O(logn)的查找。具体的算法步骤如下:

阅读全文 »