Javaindexof
很多Java初学者都会犯的错误,比如最简单的数组Arrays 你都会用错。就像下面的,你知道为什么结果会出现 ArrayIndexOutOfBoundsException 异常吗?明明长度是三个,怎么就数组越界了呢?图3是Arrays的asList源码,看了应该就能懂了。
【开发者认证系列推荐】HCCDA-GaussDB (for openGauss)GaussDB入门级开发者认证[灵光一闪]
本认证面向高校学生、个人开发者、企业开发工程师等对数据库感兴趣的人员,培训理论知识和实操能力,使您具备基本开发实践能力。掌握基于GaussDB(for openGauss)数据库的Java编程实操。结合开发语言和华为云云上数据库,使您掌握数据库的核心理念和SQL语法,具备基本开发实践能力。
登陆华为云开发者学堂,了解更多详:网页链接
#华为云#
基于GNU v2协议的JDK16版本发布,此次发布的有Linux/AArch64,Linux/x64,macOS/x64,Windows/x64版本。网址:网页链接
甲骨文也发布了非开源的版本,可以在 网页链接
此版本开发使用了一些新的特性,部分如下:
- Verctor API(新功能测试)
- 启用C++ 14特性
- 从Mercurial迁移到Git
- 迁移到了github
- 使用ZGC并发线程堆栈处理
- Unix 域套接字通道
- Alpine Linux端口
- 弹性元空间
- 支持Windows/AArch64 端口
- 外部链接程序API(新功能测试)
- 基于值的类的警告
- 打包工具
- 外部存储器访问API(第三方开发的新功能测试)
- instanceof模式匹配
- 记录
- 默认情况下在JDK内部用强封装
- 密封类(新功能迭代)
(其中一部分特性我不太懂,翻译不出来 [流泪])
#IT# #Java面试题# #MySQL# #数据库#
一天一题
面试岗位:java全栈工程师
问: mysql如何强制走索引或者强制不走索引?
答:
mysql强制使用索引:force index.
mysql禁止某个索引:ignore index
对于某个索引的键,如果这个键在某个文档中是一个数组,那么这个索引就会被标记为多键索引(multikey index)。可以从explain()的输出中看到一个索引是否为多键索引:如果使用了多键索引,"isMultikey"字段的值会是true。索引只要被标记为多键索引,就无法再变成非多键索引了,即使这个字段为数组的所有文档都从集合中删除。要将多键索引恢复为非多键索引,唯一的方法就是删除再重建这个索引。
多键索引可能会比非多键索引慢一些。可能会有多个索引条目指向同一个文档,因此MongoDB在返回结果集时必须要先去除重复的内容。
#java# #程序员#
mybaits中list使用索引下标访问属性
INSERT INTO ${list[0].historyTable}
(id,log_id,module_name,business_name,data_table,data_id,class_name,data_json,operation_json,create_by,create_time,update_by,update_time,remark)
VALUES
(
#{item.id},#{item.logId},#{item.moduleName},#{item.businessName},#{item.dataTable},#{item.dataId},#{item.className},#{item.dataJson},#{item.operationJson},#{item.createBy},#{item.createTime},null,null,#{item.remark}
)
ON DUPLICATE KEY UPDATE
log_id=VALUES(log_id),module_name=VALUES(module_name),business_name=VALUES(business_name),data_table=VALUES(data_table),data_id=VALUES(data_id),class_name=VALUES(class_name),data_json=VALUES(data_json),operation_json=VALUES(operation_json),update_by=VALUES(update_by),update_time=VALUES(update_time),remark=VALUES(remark)
#{list[${index}]}
在JAVA中,LinkedList类和ArrayList类同属于集合框架类,下列()选项中的方法是LinkedList类有而ArrayList类没有的
A、 add(Object o)
B、 add(int index,Object o)
C、 remove(Object o)
D、 removeLast()
一、JAVA命名规范
1、 项目名全部小写
2、 包名全部小写
3、 类名首字母大写,如果类名由多个单词组成,每个单词的首字母都要大写。
如:public class MyFirstClass{}
4、 变量名、方法名首字母小写,如果名称由多个单词组成,每个单词的首字母都要大写。
如:int index=0;
public void toString(){}
5、 常量名全部大写
如:public static final String GAME_COLOR=”RED”;
6、所有命名规则必须遵循以下规则:
①名称只能由字母、数字、下划线、$符号组成
②不能以数字开头
③名称不能使用JAVA中的关键字。
④坚决不允许出现中文及拼音命名
MicroEJ 宣布支持 JavaScript 。
MicroEJ - 该公司以其适用于各种微控制器的 Java 运行时而闻名。
MicroEJ 使用著名的 Java 解释器来实现 JavaScript 执行环境。
阅读原文:网页链接
JetBrains为什么会这么火?三个俄罗斯程序员如何打造出百亿美金的独角兽公司?
2000年前后,C语言市场占有率远远超过Java,C++排第3但是JetBrains一开始并没有为C++开发IDE,而选择了Java,促使它作这个决定的初衷是什么呢?这就很有意思了。在当时C语言和C++被Borland公司和Microsoft把持了,于是JetBrains选择从Java开始,弯道超车。资料来源:网页链接
三位俄罗斯软件工程师Sergey Dmitriev 、Eugene Belyaev和 Valentin Kipyatkov却逆势创业进入了开发生态系统,在捷克布拉格创立了 JetBrains(原名IntelliJ Software)。二十多年后的2021年,在没有引入任何外部投资的情况下,JetBrains从一个布拉格的小公司逐渐发展成为在五个国家有9个办公室的明星公司。 公司旨在为软件开发人员和项目经理制作工具,主要业务是为编程语言Java、Groovy、Kotlin、Ruby、Python、PHP、C、Objective-C、C++、C#、Go、JavaScript等提供集成开发环境(IDE)。 目前的世界500强企业中, 约有430 家是JetBrain的客户,包括花旗集团、谷歌和大众汽车等巨头,JetBrains主要的编程工程中心位于圣彼得堡,约有一半的员工位于俄罗斯 。
2000年前后,创业小队发现,想在Jbuilder中进行编写代码的其他功能查询,Jbuilder无法满足需求,为了解决这个问题,2000年2月1日,他们就在布拉格创立了一家命为Inellij的公司(JetBrains的前身)推出的首个工具叫做Intellij Renamer,早期Renamer是以JBuilder插件的形式销售。
2001年,JetBrains的第一款产品IntelliJ IDEA,就是在之前的基础上又加入了许多开发过程中需要的工具而诞生的。IntelliJ IDEA是基于Java开发的集成开发环境,就像文字工作者需要用到Word,IntelliJ IDEA也能极大方便程序员的工作,在出现后就受到热捧。
IntelliJ首次发布后,迅速流行,之后获评为基于Java的最佳编程工具,将NetBeans、Eclipse和JDeveloper等成熟工具排挤在外。谷歌在2014年发布的Android开源开发环境也是基于IntelliJ IDEA的。该IDE支持许多其他编程语言,如Python、Lua和Scala。
IntelliJ被认为是基于Java的最佳编程工具之一的最大原因是它的辅助功能,这使得它易于使用,并使由它创建的程序非常好地设计,具有先进的错误检查功能,可以更快、更容易地检查错误。





