最新要闻
- 199元就能买到这么顶的1/6手办?|焦点精选
- 张超文会长与中国医药报社总编辑王春梅交流座谈-天天热议
- RTX 4070卖不动?NV反击:186W下性能2倍于272W功耗3070 Ti显卡-天天热头条
- 滚动:新金路(000510.SZ):提请股东大会授权董事局办理以简易程序向特定对象发行股票
- 英足总杯丨马赫雷斯“戴帽”,曼城挺进决赛|精选
- 让老外爱上“砍一刀”!拼多多Temu英国站已正式上线 天天亮点
- 每日播报!圆球停在斜坡顶端 网友称物理学不存在了 体彩中心:可能是天气原因
- 美国多个州要求召回韩国汽车:缺乏基本的防盗装置 危及公共安全
- 环球快消息!比亚迪百万豪车!仰望U8开车第一视角曝光:马路都感觉变窄了
- 蛋蛋面膜真的能去皱纹吗_蛋蛋面膜
- 亚香股份: 2022年年度报告摘要
- 全球速读:劳斯莱斯不让进展台 小姐姐直接买了仰望U8、仰望U9两款车
- 【时快讯】广州街头大众CC变道不成 倒车怒撞奔驰E 网友直呼太恶劣
- 华为宣布开放5G网络能力 自家5.5G比5G快10倍|焦点速读
- 什么是期货对冲交易 全球独家
- 每日观点:歌词那些遗憾留在心底_心中的遗憾歌词
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
提高开发生产力的4大敲门砖_当前观点
引言: 本文章将分四大板块介绍提高程序员生产力的方案,最大化利用你的IDE ,其中Live Template篇,插件篇非常值的一看, 用好才能提速增效
Productity Guide篇
(资料图片)
Postfix Completion篇
Live Template篇
插件篇
Productity Guide篇
自行打开 IDEA - help - My productity (旧版本叫Productity Guide) , idea统计的生产力特性,熟练掌握这些特性,开发事半功倍
Tips: 大部分特性包含快捷键操作,快捷键因为WIN MAC或者idea键位不同,然后IDEA提供了多种版本快捷键,所以选择自己适合的即可(sublime /eclipse/vs等),如果你没有适合的,或者你刚从其他工具转到idea来,那么我建议选择idea classic , 因为你换了操作系统之后键位不会变化太大
以下是根据Used排名,筛选出比较重要的功能介绍
Syntax aware selection(语法感知选择):为什么这里用得这么多,因为平时我们会双击一个单词来选择这个单词也会被统计计入
Windows:
CTRL+W
MAC:
⌘W
Basic code completion (基础代码补全): 输入. 就会自动唤醒,无需按快捷键,但是需要掌握
- Windows:
Ctrl+空格
- MAC:
⌃Space
- Windows:
Go to declaration(转到声明):实际我个人用得不多,建议 CTRL 加鼠标左键,无鼠标用户需要掌握
Windows:
Ctrl+B
MAC:
⌘B
Go to implementation (实现类跳转) : 实际我个人用得不多,建议
Ctrl+ALT+鼠标左键
, 无鼠标用户需要掌握- Windows:
Ctrl+Alt+B
- MAC:
⌥⌘B
- Windows:
Complete statement (语句智能补全) : 这个功能五星推荐 ,不仅仅是帮你补全你输入的一半字符串,而且当你一个语句发现少一个分号的时候
;
, 直接 ALT+SHIFT+ENTER帮你补全上,当你输入if的时候没有帮你加括号的时候,当你语句排版很乱的时候,按一下,奇迹就会出现Windows:
Ctrl+Shift+Enter
MAC:
⇧⌘⏎
Search Everywhere (随处搜索): 双击Shift searchAll , 按TAB切换相关TAB,也可以记住下面的快捷键,一次定位
Windows:
Shift+Shift
随处搜索Ctrl+N
搜索类 ,Ctrl+Shift+N
搜索文件 ,Ctrl+Alt+Shift+N
for 字段和方法,Ctrl+Shift+A
搜索Actions ( IDEA模块功能关键字)MAC:
⇧+⇧
随处搜索⌘N
搜索 类,⇧⌘N
搜 文件,⌥⇧⌘N
for 字段和方法⇧⌘A
搜索 Actions(操作)
File structure popup (文件结构弹出): 超级好用的一个功能,找方法或者找全局变量超级快 , 也可以快速找内部类
Windows:
Ctrl+F12
MAC:
⌘F12
Speed search in trees(树形结构快速搜索): 在树状视图中均可用,比如在左边项目结构中
Use Introduce Variable to quickly declare variables (使用引入变量快速声明变量): tips , 直接把光标放在语句中即可,系统会自动识别,不用全选你要声明的变量
Windows:
Ctrl+Alt+V
MAC:
⌥⌘V
CamelCase prefixes in code completion(驼峰前缀搜索): 有一定用,但是又用得不多
Highlight method throws (高亮方法抛出异常): 这个真没用 , 比如选了第二个FileFoundException之后,会高亮箭头所指代码
Windows:
Ctrl+Shift+F7
MAC:
⇧⌘F7
Override or implement a method (重写或实现方法) : 一定要记住,非常重要的功能
- Windows:
Ctrl+O
重写方法Ctrl+I
实现方法 - MAC:
⌘O
重写方法,⌘I
实现方法
- Windows:
Go to class (转到类) : 实用,建议记住
Windows:
Ctrl+N
MAC:
⌘N
Go to file (转到文件): 记住,重要
Windows:
Ctrl+Shift+N
MAC:
⇧⌘N
Comment or uncomment a block (注释或取消注释块):实用,记住
- Windows:
Ctrl+/
单行注释Ctrl+shift+/
多行注释 - MAC:
⌘/
单行注释⌃⇧/
多行注释
- Windows:
Finish lookup with smart enter (使用智能回车完成查找):同 Complete statement (语句智能补全) , jetbrains换个名字继续炫
- Windows:
Ctrl+Shift+Enter
- MAC:
⇧⌘⏎
- Windows:
Editor delete line (编辑器删除行): 实用,要记住 , 按一下光标所在那一行直接就删掉了,ctrl+z回滚刚刚的操作
- Windows:
Ctrl+Y
- MAC:
⌘Y
- Windows:
Evaluate expression (计算表达式): 实用,仅调试时候有效 , 对着表达式右键可以出来一个弹框,可以自己输入表达式计算
Windows:
ALT+鼠标点击表达式
MAC:
⌥ + 鼠标点击表达式
Surround statement with (语句环绕): 很好用的功能,一般用来环绕try catch 或者if,不过后面把try catch写入模板后,这个功能用得也不多
Windows:
Ctrl+Alt+T
MAC:
⌥⌘T
Type-matching completion after new (new关键字后面的类型匹配补全):输入new后再输快捷键,会帮你进行类型匹配补全,不实用,现在补全都是很智能的,都直接把ArrayList放在第一个,不需要你按快捷键了, 没什么用
Windows:
Ctrl+Shift+空格
MAC:
⌃⇧Space
Rename (重命名): 类名、方法名、变量名,使用的地方都会一起改,很实用
Windows:
Shift+F6
MAC:
⇧F6
Postfix completion (后缀补全):快捷键. 具体有哪些后缀补全可以进入Preferences | Editor | General | Postfix Completion 中查看,可以记住一些简单的,var , new ,if 等。
Windows:
Ctrl+J
展示后缀补全列表MAC:
⌘J
同上
Edit breakpoint (编辑断点):
- Windows:
对着断点右键
- MAC:
对着断点右键
- Windows:
Second basic completion (二次基础补全) : 同 Basic code completion (基础代码补全)快捷键,作用是可以看到不允许访问的类和成员(属性、方法)
- Windows:
Ctrl+空格
- MAC:
⌃Space
- Windows:
Surround expression with (表达式环绕): 同 Surround statement with (语句环绕)
- Windows:
Ctrl+Alt+T
- MAC:
⌥⌘T
- Windows:
Recent files popup (最近文件弹窗):主要是你最近打开的文件 , 实际体验用得不多
Windows:
Ctrl+E
MAC:
⌘E
Show Diagram Popup (显示类图弹窗):打开UML类图,常见的有以下几种关系: 泛化, 实现,关联,聚合,组合,依赖
Windows:
Ctrl+Alt+U
MAC:
⌥⌘U
Show Diagram (显示类图):同上,只是会在一个新的窗口打开
- Windows:
Ctrl+Alt+Shift+U
- MAC:
⌥⇧⌘U
- Windows:
Smart type casting(智能转换) : 缺点要带个括号 , 比如String s = ( , 就能变成 String s = ( String )
- Windows:
Ctrl+Shift+空格
- MAC:
⌃⇧Space
- Windows:
Show usages (显示使用的地方)) : 我一般一般会用Ctrl+鼠标左键代替 , mac为 ⌘加鼠标左键
Windows:
Ctrl+Alt+F7
MAC:
⌥⌘F7
Finish lookup with special characters ( 用特殊字符结束智能补全): 在智能补全中,
. , ; 空格
都可以结束智能补全New scratch file (新增暂存文件): 创建一个缓存文件,选中高亮的语法,比如Java高亮
Windows:
Ctrl+Alt+shift+Insert
MAC:
⌃⇧N
Database Table Editor (数据库表编辑器): 对着表或者库双击即可打开编辑器
Quick Documentation popup (快速文档弹出): 光标定位某个类的时候,按快捷键,即可显示对这个类的文档描述
Windows:
Ctrl+Q
MAC:
⌃J
Go to symbol (转到symbol): 创建一个缓存文件,选中高亮的语法,比如Java高亮
Windows:
Ctrl+Alt+Shift+N
MAC:
⌥⇧⌘N
Replace By when using lookup (代码补全替换):所选名称将覆盖插入符号右侧名称的其余部分。这对于将一个方法或变量名称替换为另一个方法或变量名称特别有用。
Windows: 代码补全后
Tab
MAC: 代码补全后
Tab
Global method name completion (全局方法名补全):如果有一个静态方法,在你项目里面,jar包里面,JDK里面,输入前缀, 按 Ctrl+空格 (Mac上
⌃Space
) 2次 ,即可自动引入和补全 按ALT+Enter
(Mac上⌥⏎
补全), 事实上ALT+Enter
有很多功能,比如说一句话是错误的,你按一下,会给你修复建议。Windows:
ALT+Enter
MAC:
⌥⏎
Tag Name Completion(Tag名称补全):XML中,如果你输入了一个tag但是没有定义,输入两次Ctrl+空格会帮你自动引入定义, 比如xml中没有定义task schema,你输入了task之后,使用快捷键就会帮你自动引入了
Windows: 2次
Ctrl+空格
MAC: 2次
⌃Space
Switcher (切换器):
Windows:
Ctrl+Alt+Shift+N
MAC:
⌥⇧⌘N
Select In popup (弹窗选择): 用得不多,无鼠标用户用的
- Windows:
ALT+F1
- MAC:
⌥F1
- Windows:
Move code element left/right(向左/向右移动代码元素): 有用,想移动参数顺序的时候
Windows:
Ctrl+Alt+shift+左/右箭头
MAC:
⌥⇧⌘←
and⌥⇧⌘→
Quick Documentation in lookups(查找快速文档): 如图可以清晰看到类有几个构造函数
Windows: 查看文档
Ctrl+Q
查看参数 :Ctrl+P
进入:Ctrl+B
MAC: 查看文档
⌃J
查看参数 :⌘P
进入:⌘B
Move inner class to upper level (将内部类移动到上层):
Windows:
F6
MAC:
F6
JAR Files Diff (Jar文件差异):看看jar升级了什么东西,也可以用于自己的jar . 文件夹比较也可以这么玩
Windows:
Ctrl+D
MAC:
⌘D
Directory Diff (文件夹比对): 同上
Highlight implementing or overriding members (高亮实现和重写的方法):比如你实现某接口的什么方法,就能够高亮这些方法。
Windows:
Ctrl+Shift+F7
MAC:
⇧⌘F7
Inspect Code in Bulk(批量代码检查): Code | Inspect Code 用处不大
Quick Definition in lookup lists (查阅列表中的快速定义)
Windows:
Ctrl+Shift+I
MAC:
⇧⌘I
Use wildcards when navigating to a class, file, or symbol by name(按名称导航到类、文件或符号时使用通配符) :
*
代表任意数量的任意字符空格
标记模式的结束,前面的字符串不仅仅是前缀,而且被视为整个模式
Horizontal scrolling (水平滚动) : 需要掌握,比较重要 , 按住Shift滑动鼠标
Highlight method exit points(突出显示方法退出点): 高亮一个方法里面所有return的地方,仅仅高亮return那一行,无实际作用
Windows:
Ctrl+Shift+F7
MAC:
⇧⌘F7
Completion in Find Bar (查找栏中唤醒智能补全) : 在查找栏中输入快捷键
Windows:
Ctrl+空格
MAC:
⌃Space
Multiple carets Code (多个插入符号代码): 按住快捷键,然后用鼠标点击,形成多个光标 , 没用的知识又增加了
Windows:
Shift+Alt
MAC:
⇧⌥
Recent changes (最近更改):看看最近改了什么,可以点击,没什么用
Windows:
Alt+Shift+C
MAC:
⌥⇧C
Change completion variants sorting (改变补全候选项的排序): 点击那3个点,不建议更改智能排序,不推荐
Postfix Completion篇
后缀补全一般来说,还是有一些方便的地方,在new一个对象的时候,在引入变量的时候等
我们看一些常见的高频的后缀补全
new
String.new=======>newString()//其他对象也可
var
newString().var=======>Strings=newString();//
其他的比如 if , for , iter , lambda, sout , try 等,我是不推荐的,毕竟 , live Template更香,能替代这些功能,且用着也很别扭
我们来自定义Postfix
Key表示你定义的关键字,不要与现有的重复,Minimum Language Level , 最小支持语言版本,1.3默认的就行,用到了高等级特性就要改成1.8 ,比如lambda , Applicable expression types , 适用的表达式类型。指的是你输入的表达式,比如你输入了 aa , 这里就是说的aa的类型,一般无需设置。固定EXPREXPREXPR表示你输入的表达式, 固定ENDENDEND表示光标结束位置。
- 比如如下图,创建一个list,即可形成一个实例化ArrayList的语句,代码中只需要输入 Integer.list , Long.list即可生成一个句子。
比如下图,形成一个JSON序列化的句子,只需要对str后面加上jsonParse即可
比如下图,判断是否为空,也很高频
Live Template篇
前言
Live Template是一个预定义模板工具
适用范围
- 什么样的代码适合设置模板
- 代码风格统一的
- 使用频率高的
- 比如new一个对象
- 代码简单,无业务属性
简介
入口
可以看到,有很多预定义模板,有些我们平时用得很多,需要掌握,最基础的,像 iter / fori / psf /psvm/ soutv 等,要记住和熟练运用,达到事半功倍的效果。
使用
快捷键:
CTRL + J唤醒 liveTemplate
CTRL+ALT+J 唤醒liveTemplate 两个的区别 , 这个是只唤醒带$SELECTION$
标签的,上面一个唤醒所有
下面我们来演示一下:
- 比如我想引入一个Logger
- 比如说我有个查询的方法,需要查询数据库
比如这行语句会抛异常,我需要捕获,只需要在这一行按快捷键CTRL+ALT+J , 即可唤醒你设置的预定义模板 , 与传统的 surround with最大的不同就是,加入了LOG.error这句话,更方便
配置
根据上面的适用范围,我们可以抽一个我们平时用得比较多的代码配置成一个模板。比如定义一个字符串类型的变量,大多数人会开始敲private String xxx
,像这种完全可以定义为一个预定义模板
这样简单的配置,只需要输入 ps ,即可达成private String 的效果
平时大家是怎么new一个对象的呢?
这里就用到了简单的变量了, $VAR$
是一个自定义变量, $CLASS_NAME$
也是一个自定义变量 , 你需要对这些自定义变量进行赋值才行,点击右边的Edit variables .
可以看到自定义变量用了2个表达式, 这两个表达式都是系统已经定义好的。
- suggestVariableName() 是系统自己填写变量名
- completeSmart是唤醒系统智能补全组件
那么系统有哪些常用的内置表达式呢? 我挑选几个比较重要的讲一下
- className() 获取当前编辑器页面的类名
- clipboard() 剪切板
- completeSmart() 唤醒智能补全组件
- currentPackage() 当前类所在的包名
- filePath() 当前文件所在路径
- groovyScript() groovy脚本路径, 很重要,玩出花样就靠他了
- methodName() 方法名
- methodParameterTypes() 方法参数类型
- methodParameters() 方法参数
- methodReturnType() 方法返回值
- qualifiedClassName() 当前类全限定名
- suggestVariableName() 系统自己填写变量名
- user() 当前系统登录用户
基本有了groovyScript脚本之后就可以为所欲为了。
以上文的try catch为例, try catch中比较重要的就是获取方法的参数(PS: 如果你要获取上下文的参数会稍微麻烦一点,需要用groovy读取整个Java文件并解析,当然可以做)
$SELECTION$
是一个比较特殊的内置变量,表示选中你的关键字,或者你选中的关键字(语句、段落都可以),唤醒带有$SELECTION$
的模板需要使用CTRL+ALT+J
快捷键,无法自动唤醒。
这里PLACEHOLDERSPLACE_HOLDERSPLACEHOLDERS用到了简单的grovvy脚本
groovyScript("_1.collect{it+"={}"}.join(",")",methodParameters())
_1 是传递进来的,表示 groovyScript() 表达式的第一个参数 , 就是methodParameters() , 这里拿到的结果是 param1={}, param2={}
ide也是支持外部groovy源码文件的,上面这样写不是很方便
groovyScript("/Users/admin/code/idea/script/setall.groovy",SELECTION,filePath())
然后你就可以用IDEA来编写groovy源码了,调试起来更容易 , groovy语法基本全面兼容Java语法,所以没有学习成本。
如何更进一步利用groovy
以生成所有的set 方法为例,先看效果
1. 文件法
a. 通过filePath() 获取到文件路径,读取这个文件到StringBuilder里面
Filefile=newFile(currentPath);StringBuilderstringBuilder=newStringBuilder();try{FileInputStreamfileInputStream=newFileInputStream(file);byte[]buf=newbyte[1024];intlength=0;while((length=fileInputStream.read(buf))!=-1){stringBuilder.append(newString(buf,0,length));}fileInputStream.close();}catch(Exceptione){}
b. 使用正则获取包名
Stringregex="import\\s([a-zA-Z_][a-zA-Z0-9_]*)+([.][a-zA-Z_][a-zA-Z0-9_]*)+[.]%s;";regex=String.format(regex,varName);//正则差早包名java.util.regex.PatternPACKAGE_PATTERN=java.util.regex.Pattern.compile(regex,java.util.regex.Pattern.CASE_INSENSITIVE);java.util.regex.Matchermatcher=PACKAGE_PATTERN.matcher(stringBuilder.toString());if(matcher.find()){StringpackageName=matcher.group(0).replace(";","").replace("import","");}
c. 找到lib文件夹实例化UrlClassLoader
URLClassLoaderurlClassLoader=null;if(srcs!=null){Fileparent=srcs.getParentFile();Filetarget=newFile(parent,"target");if(!target.exists()){return"没有target文件夹";}FileWEBINFfiles=newFile(target,parent.getName()+"/WEB-INF");if(!WEBINFfiles.exists()){return"没有找到WEB-INF文件夹";}File[]files1=WEBINFfiles.listFiles();Listlist=newArrayList<>();for(Filefile1:files1){if(file1.getName().equals("lib")){for(FilelistFile:file1.listFiles()){URLurl=listFile.toURI().toURL();list.add(url);}}elseif(file1.getName().equals("classes")){URLurl=file1.toURI().toURL();list.add(url);}}urlClassLoader=newURLClassLoader(list.toArray(newURL[]{}));
d. 使用urlClassLoader加载这个class
Class>aClass=urlClassLoader.loadClass(packageName);java.lang.reflect.Method[]declaredMethods=aClass.getDeclaredMethods();//有了这个class就可以反射获取方法
2. 源码法
源码法需要用到_editor这个内置对象,需要有一定的源码基础
defdocument=editor.getDocument()//获取PSIJavaFiledefpsiJavaFile=com.intellij.psi.PsiDocumentManager.getInstance(editor.getProject()).getPsiFile(document);//获取行号偏移量//intline=lineNumber.toInteger()//defstartOffset=document.getLineStartOffset(line)//获取鼠标偏移量,上面的可能不太准,所以直接获取鼠标defmouseOffset=editor.getCaretModel().getOffset()//一般是标识符defpsiReferenceStart=psiJavaFile.findReferenceAt(mouseOffset)defpsiClass=null;//不管怎么样,最终目的就是通过这个语句,找到对应的PSiClassif(psiReferenceStartinstanceofcom.intellij.psi.impl.source.PsiJavaCodeReferenceElementImpl){psiClass=((com.intellij.psi.impl.source.PsiJavaCodeReferenceElementImpl)psiReferenceStart).resolve();}elseif(psiReferenceStartinstanceofcom.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl){deflocalVariable=((com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl)psiReferenceStart).getReference().resolve();deftype=localVariable.getType();psiClass=type.resolve();}defpsiMethods=psiClass.getMethods()
课后作业
有了这些基础,大家就可以自行写一个 set get方法的 live template了
插件篇
常用的插件相信大家都有安装一些 ,我推荐的是少见但是很好用的插件
MoFar
一款单元测试插件,嵌入在IDE里面,不用切换界面即可对自己写的代码进行调试,不用重启项目即可对更新的代码进行调试。加快测试代码效率, 如下图
项目地址: 点我直达
点击图片播放动画以下为常用的插件
- Alibaba Java Code Guidelines:阿里巴巴出品的代码规范插件,可以帮助程序员规范自己的代码,检测出潜在的问题,改善代码质量
- CodeGlance:可以在编辑器右侧显示代码的缩略图,方便快速定位和浏览代码
- RestfulToolkit:一套 RESTful 服务开发辅助工具集,可以根据 URL 跳转到对应的方法定义,提供一个服务树的显示窗口,以及一个简单的 HTTP 请求工具
- Easy Code:可以根据数据库表或者 Java 类生成 CRUD 代码,支持多种模板和框架
- GsonFormat:可以根据 JSON 数据生成 Java 类,支持多种注解和命名规则
- Statistic:可以统计项目的代码总行数,分别显示各个类型文件的总行数
- Rainbow Brackets:可以给配对的括号显示相同的颜色,并且实现选中区域代码高亮的功能
- Translation:一个翻译插件,支持谷歌、有道、百度三种翻译,还有一个变量命名的功能
- Lombok:一个简化 Java 代码的插件,可以通过注解来生成 getter、setter、toString、equals 和 hashCode 等方法
- Maven Helper:一个分析 Maven 依赖冲突的插件,可以显示依赖树,查找和处理依赖冲突
- GenerateAllSetter:一个效率插件,可以对变量类生成对类的所有 setter 方法的调用
关键词:
提高开发生产力的4大敲门砖_当前观点
JavaScript 使用 splice 方法删除数组元素可能导致的问题
199元就能买到这么顶的1/6手办?|焦点精选
多只债券基金遭遇大额赎回 机构:债市或维持震荡格局
张超文会长与中国医药报社总编辑王春梅交流座谈-天天热议
RTX 4070卖不动?NV反击:186W下性能2倍于272W功耗3070 Ti显卡-天天热头条
热消息:Vue3 +element-plus+ wangEditor 富文本编辑器+前端七牛云上传
《Redis设计与实现》读书笔记 焦点简讯
2023年团体程序设计天梯赛 题解
环球观天下!并发编程(1)-线程与锁
前沿资讯!性能测试工具Locust和JMeter比较-及相关书籍下载
滚动:新金路(000510.SZ):提请股东大会授权董事局办理以简易程序向特定对象发行股票
英足总杯丨马赫雷斯“戴帽”,曼城挺进决赛|精选
让老外爱上“砍一刀”!拼多多Temu英国站已正式上线 天天亮点
每日播报!圆球停在斜坡顶端 网友称物理学不存在了 体彩中心:可能是天气原因
美国多个州要求召回韩国汽车:缺乏基本的防盗装置 危及公共安全
环球快消息!比亚迪百万豪车!仰望U8开车第一视角曝光:马路都感觉变窄了
蛋蛋面膜真的能去皱纹吗_蛋蛋面膜
「学习笔记」重修 FHQ-treap
Godot 4.0 设置应用程序图标、项目图标
Springboot yml配置参数加密 ,jasypt自定义解密器|当前简讯
国家能源局:截至3月底全国累计发电装机容量约26.2亿千瓦 同比增长9.1%
亚香股份: 2022年年度报告摘要
全球速读:劳斯莱斯不让进展台 小姐姐直接买了仰望U8、仰望U9两款车
【时快讯】广州街头大众CC变道不成 倒车怒撞奔驰E 网友直呼太恶劣
华为宣布开放5G网络能力 自家5.5G比5G快10倍|焦点速读
什么是期货对冲交易 全球独家
每日观点:歌词那些遗憾留在心底_心中的遗憾歌词
人机识别技术再升级,AIGC为验证码带来万亿种新变化_环球关注
从热爱到深耕,全国Top10开源软件出品人手把手教你如何做开源 微头条
当前观察:今日沈阳老凤祥黄金价格查询(2023年4月23日)
全球快播:提车时大风吹倒墙壁新车被砸 男子:4S店只修不换不退
【当前独家】抖音推出种草产品有柿App 由头条搜索升级而来
体彩开奖球停在斜坡不下滚遭质疑是什么情况
观察:厦门国际银行助力企业赴澳发行首笔“深合债”
詹姆斯:我职业生涯中和很多人有过对决 所以我不想谈狄龙 焦点快播
重返韩国!2023《英雄联盟》S13全球总决赛10月开战:赛程抢先看-全球快看
穿一次扔了都不亏!阿里工厂店大促:船袜6毛4一双起
全球报道:傅索安巴甫洛夫 傅索安怎么死的
优化数据呈现方式,分组双轴图是最佳选择|实时焦点
天天百事通!Transformer
无惧百万级并发,GaussDB(for Cassandra)让华为推送服务更快触达
使用手机在网状态查询 API 有效防止虚假注册的设计思路 全球简讯
视焦点讯!CAS的service参数验证
头条焦点:缬怎么读(缬字怎么读“缬”的读音是:[xié]【释义】)
上不上名校的区别,藏在李雪琴陈都灵的采访中,演员层次分出来了
环球简讯:奇瑞艾瑞泽STAR概念实车现身 网友:换个BBA的标 能卖百万
被泰国红牛告了 禁止生产销售!中国红牛回应:系网络水军抹黑-世界热点
【速看料】燕矶长江大桥北锚碇填芯混凝土大方量浇筑打破项目纪录
NGINX 备忘清单_开发速查表分享_时讯
孕产妇营养饮食大全 全球今头条
环球热门:雀巢丝滑拿铁咖啡15瓶到手59.8元:榛果、焦糖等多种口味
外观大变 增插混版!全新广汽本田雅阁将于5月底上市 全球快资讯
SpaceX星舰发射导流槽都没挖!马斯克:大意了 焦点短讯
4种口味任选 超划算:和路雪千层雪冰淇淋3.87元大促 _世界新要闻
有望下跌!国内油价五一节前调整 预计下调0.07元/升-微资讯
最新资讯:泡菜坛口用水密封的目的 泡菜坛口为什么要用水密封呢
华为云GaussDB支撑华为MetaERP系统全面替换
券商业绩大反攻!“券茅”获基金大幅加仓
15平方米公共绿地被居民私自硬化,路长、物业齐出手
具俊晔有孩子吗?具俊晔个人资料简介
超频冲上3.1GHz!索泰RTX 4070天启OC评测:远超公版的2K游戏最香显卡 天天新要闻
天天精选!公司要求开宝马卖车否则开除!员工回应:没人开宝马
黑猫警长一只耳的耳朵是怎么没的?黑猫警长中一只耳的娘舅是谁?
回家的诱惑宝莲身世第几集揭晓?回家的诱惑宝莲最后和谁在一起了?
张萌制片的作品有哪些?男制片人张萌简介
西海情歌的原唱是谁?西海情歌背后真实的故事
outlook怎么设置msn邮箱?outlook怎么撤回邮件?
第四范式联合创始人胡时伟:AIGC可能带来企业生产要素的变化
塞班s60v3还能用微信吗?塞班手机性能排行
三星笔记本r23plus黑屏怎么解决?三星笔记本r23plus配置
地下城与勇士刺客刷图厉害吗?地下城与勇士刺客转职什么好?
常用的 API 大全整理|全球热消息
【全球速看料】【Spring】三级缓存解决循环依赖问题
支付宝安全控件怎么升级?支付宝安全控件有什么用?
花汐与眠王12 看热讯
全球百事通!李楠评MINI冰淇淋事件:宝马公关写道歉信是真的蠢
【新要闻】专注和沉浸 是华为墨水平板赋予信息碎片化时代的“稀缺品”
第28个世界读书日你读书了吗?超8成图书被已婚人群买走:为了下一代-焦点滚动
海南部署开展道路交通安全和运输执法领域突出问题专项整治工作 每日快播
兵马俑景区“五一”门票预售啦
《安富莱嵌入式周报》第310期:集成大语言模型的开源调试器ChatDBG, 多功能开源计算器,M7内核航空航天芯片评估板, Zigbee PRO规范
世界热议:前端跨域解决方案——postMessage
不回皇马!齐达内出山,无视6000万年薪,拒联手C罗,意甲乱了
世界动态:仿真手感 全身可按:允宝充气颈部按摩仪99元新低(335元券)
【播资讯】小米13 Ultra可变光圈能晃动?小米王化科普:正常物理现象
今日上海消费券线上哪些商家可以用(上海消费如何)
微博如何查看自己评论过的动态(微博如何查看自己评论过的动态记录) 每日简讯
每日热门:超快充伤电池吗?实测:240W用了2个月 手机电池健康度依然100%
比亚迪赵长江:很多客户都是抛弃雷克萨斯LM 过来买腾势D9 天天资讯
直降200元!45mm GPS款苹果表8限时好价
朱砂供星月菩提变色8个过程图_朱砂供星月菩提 每日短讯
我国三款商业液体火箭发动机发布!综合性能达国际先进水平
园方回应熊猫阿宝耳朵被咬成V形:繁殖期太激动 没大碍 世界热消息
安卓手机ip地址更换_1024最新手机地址一二
学系统集成项目管理工程师(中项)系列10_立项管理 世界资讯
环球速看:闺女15岁生日送什么礼物,15岁女孩生日,送什么礼物好?
贡萨洛-拉莫斯谈百场里程碑:齐心协力,全力以赴 全球视讯
当前简讯:青龙面板基础知识和使用教程
怎么做动图表情包_怎么做动图-当前热闻