在Java中,String,StringBuilder,和StringBuffer都是用来处理字符串的类,但它们有一些重要的区别。下面详细说明它们的特点和用途:
String: String是Java中的不可变类,一旦创建,其值就不可更改。这意味着每次对String执行修改操作时,都会创建一个新的String对象,而原始的String对象保持不变。这会导致频繁的内存分配和垃圾回收,特别是在处理大量字符串操作时,可能会影响性能。
12javaCopy codeString str = "Hello";str = str + " World"; // Creates a new String object, original "Hello" is unchanged
优点:
线程安全:由于不可变性,String对象在多线程环境中是安全的。
缓存:Java运行时环境可以对字符串进行缓存,提高重用性,节约内存。
缺点:
频繁的String对象创建和销毁,可能会导致性能问题。
不能直接修改字符串内容,每次修改都会产生新的St ...
用vertical-align:middle。然而用的时候总是无效。这个原因很细节
作用环境:父元素设置line-height。
作用对象:子元素中的inline-block和inline元素。
CSS 的属性 vertical-align 用来指定行内元素(inline)或表格单元格(table-cell)元素的垂直对齐方式。
vertical-align 属性可被用于两种环境:
使行内元素盒模型与其行内元素容器垂直对齐。例如,用于垂直对齐一行文本内的图片
垂直对齐表格单元内容。
一、父元素设置 line-height
父元素(inline-block\block)必须含有line-height(inline元素有无皆可),子元素中的(inline-block/inline元素)vertical-align才能起作用。
vertical-align不可继承,必须对子元素单独设置。
在父元素定义了line-height的条件下,vertical-align的作用是让(inline/inline-block)子元素依据父元素的基点对齐。
值
描述
...
前言当我们学习一门新的语言时,“Hello, World!“通常是我们所写的第一个程序。相信作为一名程序员的你,职业生涯中至少完成了一个“Hello, World!“程序。程序员一般也都会使用多门语言,甚至有多数人都会使用十几种语言。
甚至有一个名为TTHW的指标来衡量一个程序员接触一门新的编程语言时,成功写出“Hello, World!“并运行所需要的时间。
然而,如果我问你,你会用多少种编程语言写“Hello, World!“?你的答案会是多少?
为了刷新你的记忆,我会带你经历一段计算机编程领域的时空之旅。下面会写出多个语言的helloworld代码。
“Hello, World!“程序的写法。你也会了解计算机语言随着时间的推进发生了哪些变化。
1. 汇编语言123456789101112131415161718section .data hello db 'Hello, World!',0section .text global _start_start: ; write the string to stdout mov eax, 4 ...
什么是正则表达式 ?
正则表达式是一种被用于从文本中检索符合某些特定模式的文本。
正则表达式是从左到右来匹配一个字符串的。“Regular Expression”这个词太长了,我们通常使用它的缩写“regex”或者“regexp”。正则表达式可以被用来替换字符串中的文本、验证表单、基于模式匹配从一个字符串中提取字符串等等。
想象一下,您正在编写应用程序,并且您希望在用户选择用户名时设置规则。我们希望用户名可以包含字母,数字,下划线和连字符。为了让它看起来不丑,我们还想限制用户名中的字符数量。这时我们可以使用以下正则表达式来验证用户名:
上面这个正则表达式可以匹配 john_doe,jo-hn_doe 和 john12_as。但是它不能匹配 Jo,因为该字符串里面包含大写字符,并且它太短了。
1. 基本匹配正则表达式只是我们用于在文本中检索字符串的模式。例如正则表达式 cat,表示:字母 c 后面跟着一个字母 a,再后面跟着一个字母 t。
"cat" => The cat sat on the mat
正则表达式 123 会匹配字符串“123”。通过将正则表达式中的每个字符逐 ...
技术杂谈
未读PDF简介
PDF是Portable Document Format 的缩写,可翻译为“便携文件格式”,由Adobe System Incorporated 公司在1992年发明。
PDF文件是一种编程形式的文档格式,它所有显示的内容,都是通过相应的操作符进行绘制的。
PDF基本显示单元包括:文字,图片,矢量图,图片
PDF扩展单元包括:水印,电子署名,注释,表单,多媒体,3D
PDF动作单元:书签,超链接(拥有动作的单元有很多个,包括电子署名,多媒体等等)
PDF的优点
一致性:在所有可以打开PDF的机器上,展示的效果是完全一致,不会出现段落错乱、文字乱码这些排版问题。尤其是文档中,本身可以嵌入字体,避免了客户端没有对应字体,而导致文字显示不一致的问题。所以,在印刷行业,绝大多数用的都是PDF格式。
不易修改:用过PDF文件的人,都会知道,对已经保存之后的PDF文件,想要进行重新排版,基本上就不可能的,这就保证了从资料源发往外界的资料,不容易被篡改。
安全性:PDF文档可以进行加密,包括以下几种加密形式:文档打开密码,文档权限密码,文档证书密码,加密的方法包括:RC4,AES,通过 ...
技术杂谈
未读Stream 流是 Java 8 新提供给开发者的一组操作集合的 API,将要处理的元素集合看作一种流, 流在管道中传输, 并且可以在管道的节点上进行处理, 比如筛选、排序、聚合等。元素流在管道中经过中间操作(intermediate operation)的处理,最后由终端操作 (terminal operation) 得到前面处理的结果。Stream 流可以极大的提高开发效率,也可以使用它写出更加简洁明了的代码。我自从接触过 Stream 流之后,可以说对它爱不释手。本文将由浅及深带您体验 Stream 流的使用。那么就让我们从流的简单使用来开启体验之旅。
流的简单使用本节将通过实际的例子带您一起了解 Stream 流:创建流以及简单的使用,并且将其与 Java 8 之前的实现方式做一下对比。
我们将创建一个学生类student,它包含姓名name和分数score两个属性。并且初始化一个学生的集合,然后分别通过 Stream 流和 Java 7 的集合操作实现筛选未及格(分数<60 分)的学生名单。
123456789101112131415161718192021222324 ...
词汇表搜寻功能直接使用浏览器搜寻功能查找该单词即可!
按字母索引
A 开头
B 开头
C 开头
D 开头
E 开头
F 开头
G 开头
H 开头
I 开头
J 开头
K 开头
L 开头
M 开头
N 开头
O 开头
P 开头
Q 开头
R 开头
S 开头
T 开头
U 开头
V 开头
W 开头
X 开头
Y 开头
Z 开头
专业名词
A
英文
译法 1
译法 2
译法 3
a block of pointers
一块指针
一组指针
abbreviation
缩略语
abstract
抽象的
abstract syntax tree, AST
抽象语法树
abstraction
抽象
abstraction barrier
抽象屏障
抽象阻碍
abstraction of function calls
函数调用抽象
access
访问
存取
access function
访问函数
存取函数
accumulator
累加器
activate
激活 ...
转自掘金
前言
写这篇文章目的是之前在一篇文章中谈到,我实习那会有个老哥很牛皮,业务能力嘎嘎厉害,但是后面发展一般般,这引起我的思考,最近有个同事发了篇腾讯pcg的同学关于review 相关的文章,里面也谈到架构师的层次,也再次引起我关于架构师的相关思考,接下来我们展开聊聊吧~
摆正初心
我写这篇文章,初心是为了找到导致这样结果的原因,而不是站在一个高高在上的位置,对别人指手画脚,彰显自己多牛皮。(PS:我也鄙视通过打压别人来展示自己,你几斤几两,大家都是聪明人看得出来,如果你确实优秀,别人还打压,说明他急了,哈哈哈)
查理芒格说过一句话:如果我知道在哪里会踩坑,避开这些,我已经比很多人走得更远了。
思考结果
我觉得是没有一个层级的概念导致的,这个原因筛掉了大部分人,突破层级的难度筛掉了另外一批人,运气和机会又筛掉另一波人。
没有层级概念为什么这么讲呢?
我们打游戏的时候,比如说王者,会有废铁、青铜、钻石、铂金、荣耀、荣耀王者,对吧。它的层级大家都清楚,但是在现实生活中,你会闷逼了,我当前处在那个阶段,上一层是什么水平,需要什么技能,什么样的要求。
其次也会对自己能力过高的评价,如果你 ...
技术杂谈
未读首先是微信小程序官方的原文:
为贯彻落实《中华人民共和国反电信网络诈骗法》、《互联网信息服务管理办法》及《非经营性互联网信息服务备案管理办法》等法律法规要求,配合相关部门做好移动互联网信息服务管理,根据2023年8月4日工信部发布的《工业和信息化部关于开展移动互联网应用程序备案工作的通知》,微信公众平台ICP代备案管理系统将提供新增备案、变更备案、注销备案等服务,协助开发者完成微信小程序备案。现将备案相关事项通知如下:一、备案必要性在中华人民共和国境内从事互联网信息服务的移动互联网应用程序主办者,应当依照《中华人民共和国反电信网络诈骗法》《互联网信息服务管理办法》(国务院令第292号)等规定履行备案手续,未履行备案手续的,不得从事互联网信息服务。开发者需依法履行备案手续,未按要求履行备案手续的,微信小程序不得开展业务,平台不提供上架服务。(具体安排请参照“备案期限要求”)二、备案期限要求1、若微信小程序未上架,自2023年9月1日起,微信小程序须完成备案后才可上架;2、若微信小程序已上架,请于2024年3月31日前完成备案,逾期未完成备案,平台将按照备案相关规定于2024年4月1日起进 ...
一、前言一直有这么一个疑问:在使用postman工具测试api接口的时候,如何使用 json 字符串传值呢,而不是使用 x-www-form-urlencoded 类型,毕竟通过 key-value 传值是有局限性的。假如我要测试批量插入数据的接口呢,使用 x-www-form-urlencoded 方法根本就不适用于这种场景。
那么如何通过postman工具使用json字符串传值呢,这里就引申出来了spring的两个注解:
@RequestParam
@RequestBody
总而言之,这两个注解都可以在后台接收参数,但是使用场景不一样。继续往下看 ↓
二、@RequestParam先介绍一下@RequestParam的使用场景:
注解@RequestParam接收的参数是来自requestHeader中,即请求头。通常用于GET请求,比如常见的url:http://localhost:8081/spring-boot-study/novel/findByAuthorAndType?author=唐家三少&type=已完结,其在`Controller` 层的写法如下图所示 ...