1.idea debug进入HashMap源码时传参不正确?
2.JAVA阅读源码,大量英文注释阅读不方便,求集成idea里面的翻译java注释由英文翻译为中文的工具。
3.idea 运行main方法
4.webå端å¼åç¼è¾å¨ï¼
5.kafka源码阅读之MacBook Pro M1搭建Kafka2.7版本源码运行环境
idea debug进入HashMap源码时传参不正确?
我测试了下面的代码:分别在这四个位置打了断点以监控程序的运行情况,debug后,进入第一次断点的vulkan sdk 源码安装位置为:
与题主说的情况一致,而没有进入我的第一个断点进行输出,而后F9:
发现还是在put文件,经多次F9之后,可以看出来,其实java的jvm在启动的时候,在底层也自行调用的put方法,将jvm所需要的一些动态库、jar包put到某个map之中,具体是点卡商城系统源码哪个map看不出来。要等到jvm底层将所有东西准备好后,才进行main函数。
jvm准备需要put多少次我就不数了,现在我先把put的断点取消,让程序debug到我的第一个断点处:
这个时候将put方法打上断点,F9发现:
奇怪的key值增加了,它将我的classes编译目录丢进去了,继续F9,和上一步差不多,再再次F9,终于来了:
继续F9,终于到达了我的第二个断点:
继续F9,这次没有put奇怪的东西了:
继续:
最后:
然后程序退出:
综上,jvm在启动的ssh框架搭建源码时候会在程序背后隐式地将一些配置啊什么的通过put方法放到某些地方,不用关心,你遇到的情况是正常的也是正确的
JAVA阅读源码,大量英文注释阅读不方便,求集成idea里面的翻译java注释由英文翻译为中文的工具。
学会在idea(eclipse)中阅读、调试源码,是java程序员必不可少的一项技能。在idea中配完环境后,默认其实也是能够对jdk的源码进行debug调试的。但是无法在源码中添加自己的注释,无法添加自己的理解。如果干瞪眼看的话,可能过段时间,就忘记了。asp源码 仓储管理下面就介绍下,如何在jdk源码中为所欲为,像在我们自己的代码中一样写注释、调代码:
打开idea,选择Project->File->Project Structure->SDKs->Sourcepath,初始状态如下图 :
打开本地jdk安装路径,本处为E:\java\jdk8,将此路径下的src.zip压缩包解压到自定义的指定文件夹(可以在电脑磁盘任意位置),本处解压到同目录的jdk_source文件夹下,如下图:
继续在步骤1中的设置页面中操作,将E:\java\jdk8\src.zip通过右侧的减号将其移除;并通过右侧的加号,将解压文件夹E:\java\jdk8\jdk_source导入进来;点击apply,再点击OK。导入结果见下图:
这时,提取手机直播源码再重新打开jdk的源码类,我们就可以在源java文件中,添加自己的注释了。
一定注意:添加注释时,一定不要新加一行写注释。最好在一行代码的后面,使用//进行注释。否则行号和真正的jre中编译后的代码行号对应不上,如果对源码debug时,会出现代码运行和行号不匹配的情况
idea 运行main方法
解决方案:可能由于我编译elasticsearch-6.6.0源码需要jdk1.的原因,所以我在win上配置了双jdk并切换至jdk1.时需手动删除当初安装jdk1.8.0时C:\ProgramData\Oracle\Java\javapath\java.exe、javaw.exe、javaws.exe共三个文件导致原系统jdk1.8.0被异常加载。故只需在idea的File--->Project Structure--->SDKs--->点击+号--->重新指定原正常的jdk1.8.0安装目录。于是完美解决java类中import java.xxx时报错问题和无法右键此java文件并运行main方法的问题。
webå端å¼åç¼è¾å¨ï¼
å代ç ç软件æåªäº
常ç¨çå代ç 软件æ以ä¸å 个ï¼
1ãWebStormãWebStormæ¯jetbrainså ¬å¸æä¸ä¸æ¬¾JavaScriptå¼åå·¥å ·ãç®åå·²ç»è¢«å¹¿å¤§ä¸å½JSå¼åè èªä¸ºâWebå端å¼åç¥å¨âãâæ强大çHTML5ç¼è¾å¨âãâææºè½çJavaScriptIDEâçã
2ãSublimeTextãSublimeTextæ¯ä¸ä¸ªä»£ç ç¼è¾å¨ä¹æ¯HTMLåæ£æå è¿çææ¬ç¼è¾å¨ã
3ãHBuilderãHBuilderæ¯ä¸ä¸ºå端æé çå¼åå·¥å ·ï¼å ·æé£ä¸æ ·çç¼ç ãæå ¨çè¯æ³åºåæµè§å¨å ¼å®¹æ°æ®ãå¯ä»¥æ¹ä¾¿çå¶ä½ææºAPPãæä¿æ¤ç¼çç绿æ设计çç¹ç¹ã
å端å¼å常ç¨åªäºå·¥å ·è½¯ä»¶ï¼å端å¼åçç¼è¯å¨å¨éæ©ä¸è¿æ¯å¾å¤çãå¨å¦æ ¡éï¼èå¸ä¸»è¦è®²ä¸ä¸ªå端å¼å软件ï¼
1ãWebStorm
帮å©ç¼åHTMLãCSSãLessãSassåStylus代ç ï¼å¹¶ä¸æ¯æNode.jså主æµæ¡æ¶ï¼å¦ReactãAngularã?Vue.jsãMeteorçãä¸IntelliJIDEAåæºï¼ç»§æ¿äºIntelliJIDEA强大çJSé¨åçåè½ãä½æ¯ä»è´¹è½¯ä»¶ã
2ãIntelliJidea
ideaæ¯å¦æ ¡èå¸æå¾æå¤çä¸æ¬¾è½¯ä»¶ï¼ä»å¦Javaå¼å§ï¼é¤äºeclipseåmyeclipseä¹å¤ï¼å¦æ ¡èå¸ç¨çæ广æ³çJavaç¼è¯å¨å°±æ¯ideaï¼èideaä¹è½è¿è¡å端项ç®çå¼åï¼ideaæ¯æç¨å¾æççä¸ä¸ªç¼è¯è½¯ä»¶ãåä¸ä¸ªå®æ´çå端ç½ç«ï¼é 置好jdkï¼tomcatï¼mavenï¼æ°æ®åºä¹åå°±å¯ä»¥å¨ideaä¸è¿è¡æ建äºã
3.VisualStudioCode
ç®ç§°VScodeï¼å端å¼åæ¶æå¦ä¹ ç第ä¸æ¬¾è½¯ä»¶ï¼å½æ¶å¦VScodeçæ¶åä¸çç½è¯¾ï¼èå¸ç¨æ件çæ¶åä¸ä¸ªæ²¡è·ä¸ï¼å°±è·ä¸ä¸äºãæ»ä½æè§ä¸æ¥æ¯æ件åºå¾ä¸°å¯ï¼èä¸å åå ç¨ä¸å¤§ï¼ç®åæ身边ç¨VScodeç人æ¯æå¤çã
ä¸é¢æ¯æå¨å®ä¹ ä¸æ¥è§¦å°çå端å¼åå·¥å ·ï¼
notepad++
页é¢å¾ç®åï¼ä¹ä¸çåæ¯ä¸ä¸ªè®°äºæ¬ï¼å®ä¹ç¡®å®å¯ä»¥å½è®°äºæ¬ç¨ãæå¾å¤ç¹è²æ件å¯ä»¥ä½¿ç¨ï¼æ¯æå¤ç§ç¼ç¨è¯è¨çè¯æ³é«äº®æ¾ç¤ºï¼å ·æ代ç æå åè½ã
2ãHBuilderX
HBuilderXæ¯DCloudï¼æ°å天å ï¼æ¨åºçä¸æ¬¾æ¯æHTML5çWebå¼åIDEãHBuilderçç¼åç¨å°äºJavaãCãWebåRubyãHBuilderæ¬èº«ä¸»ä½æ¯ç±Javaç¼åãæ¯HBuilderä¸ä¸ä»£çæ¬ï¼å ·æ轻便ãéåvueæ¡æ¶çç¹ç¹ã
æä»ä¹å¥½çç¼ç 软件åï¼
æ²ä»£ç ç¨ç软件æï¼Androidstudioï¼WebStormï¼IntellijIDEAï¼sourceinshghtï¼Vscodeã
1ãAndroidstudio
对UIçé¢è®¾è®¡åç¼å代ç ææ´å¥½å°æ¯æï¼å¯ä»¥æ¹ä¾¿å°è°æ´è®¾å¤ä¸çå¤ç§å辨çãåæ ·æ¯æProGuardå·¥å ·ååºç¨ç¾åãä¸è¿ï¼ç®åçæ¬çAndroidStudioä¸è½å¨åä¸çªå£ä¸ç®¡çå¤ä¸ªé¡¹ç®ã
2ãWebStorm
jetbrainså ¬å¸æä¸ä¸æ¬¾JavaScriptå¼åå·¥å ·ãç®åå·²ç»è¢«å¹¿å¤§ä¸å½JSå¼åè èªä¸ºâWebå端å¼åç¥å¨âãâæ强大çHTML5ç¼è¾å¨âãâææºè½çJavaScriptIDEâçãä¸IntelliJIDEAåæºï¼ç»§æ¿äºIntelliJIDEA强大çJSé¨åçåè½ãä¸è¿ï¼æçç²ä¸è¯´è¿ä¸ªæç¹å¡ï¼ä½æ¯åè½è¿æ¯é½å ¨çã
3ãIntellijIDEA
IntellijIDEAæ¯javaç¼ç¨è¯è¨å¼åçéæç¯å¢ï¼å¨ä¸çå ä¹è¢«å ¬è®¤æ¯æ¯è¾å¥½çä¸ä¸ªjavaå¼åå·¥å ·ã
4ãsourceinshght
ä¸ä¸ªé¢å项ç®å¼åçç¨åºç¼è¾å¨å代ç æµè§å¨ï¼å®æ¥æå ç½®ç对C/C++ï¼C#åJavaçç¨åºçåæãSourceInsightè½åæä½ çæºä»£ç 并å¨ä½ å·¥ä½çåæ¶å¨æç»´æ¤å®èªå·±ç符å·æ°æ®åºï¼å¹¶èªå¨ä¸ºä½ æ¾ç¤ºæç¨çä¸ä¸æä¿¡æ¯ãSourceInsightæä¾äºæå¿«éç对æºä»£ç ç导èªåä»»ä½ç¨åºç¼è¾å¨çæºä¿¡æ¯ã
5ãVscode
Vscodeå ¨ç§°VisualStudioCodeï¼æ¯ä¸æ¬¾é对äºç¼åç°ä»£webåäºåºç¨ç跨平å°æºä»£ç ç¼è¾å¨ã
webå端å¼åå·¥ä½ç¨ä»ä¹è½¯ä»¶å½æ¶åå°å¼åå·¥å ·æ¶ï¼è¯å®é¿ä¸å¼ç¼è¾å¨ï¼SublimeTextè¿ä¸ªå·¥å ·å¾å欢è¿ï¼å ³é®æ¯å®ç´§åãç®æ´ãå¿«éï¼é¿ææ¬çå¼é度ä¹æ¯æ ææ»´ãæ¥ææ¼äº®çç¨æ·çé¢å强大çåè½ï¼å¦ä»£ç 缩ç¥å¾ãPythonæ件ã代ç ç段ççãæ¨è¿å¯ä»¥èªå®ä¹é®ç»å®ãèååå·¥å ·æ ãå®æ¯ä¸ä¸ªè·¨å¹³å°çç¼è¾å¨ï¼æ¯æWindowsãLinuxãMacOSXåå ¶ä»æä½ç³»ç»ãAdobeDreamweaveræ¯ä¸ä¸web设计人åå¯è§åwebå¼åå·¥å ·ç第ä¸ä¸ªç¹æ®å¼åï¼å®å¯ä»¥æ¹ä¾¿å°å建跨平å°ç约æï¼è·¨æµè§å¨éå¶å¨æweb页é¢ããç¹å»æµè¯æéä¸éåå¦è®¾è®¡ã
å¦ææ¨æç®å¦ä¹ å端çç¥è¯ï¼å¯ä»¥èèä¸ä¸åéæè²ãåéçä¼ä¸æå¡ä¸å¡èµè½ä¼ä¸æ°åå转åè¿ç¨ï¼è´åäºä¸ºä¼ä¸æä¾å ¨æ¹ä½ç»¼å人ææå¡ï¼ç®åå·²ä¸ç¾åº¦ã京ä¸ãé¿éãè ¾è®¯ãç»ä¿¡ãä¸æ¹å½ä¿¡çå½å ç¥åä¼ä¸è¾¾æ深度åä½å ³ç³»ï¼ä¸å½å ä½å®¶ä¼ä¸å»ºç«äººæè¾éåä½å ³ç³»ãåéå¨ä¼ä¸æèå人æå°±ä¸ä¹é´æ建起桥æ¢å纽带ï¼ä¸ºæå½æ°å产ä¸å¥åº·å¿«éåå±ååºäºå®è´¨æ§è´¡ç®ã
kafka源码阅读之MacBook Pro M1搭建Kafka2.7版本源码运行环境
在探索Kafka源码的过程中,决定搭建本地环境进行实际运行,以辅助理解和注释。由于日常开发中常使用Kafka 2.7版本,选择了在MacBook Pro M1笔记本上搭建此版本的源码环境。搭建过程中,记录了遇到的障碍,方便未来再次搭建时不必从头开始。 搭建Kafka 2.7源码环境需要准备以下基础环境:一、Zulu JDK1.8
在MacBook Pro M1笔记本上,基本都已安装JDK,版本不同而已。使用的是Zulu JDK1.8版本,通过下载.dmg格式的一键安装,环境自动配置,安装路径通常在 /Library/Java/JavaVirtualMachines。二、Scala 2..1
并未在系统里安装Scala,而是直接利用IDEA。按照Preferences -> Plugins -> Scala安装。选择IDEA的不同Scala JDK版本。三、安装Gradle6.6
通过官网gradle.org/releases/下载Gradle6.6版本。如国内下载速度较慢,可直接从百度网盘下载安装包。安装完成后,解压并放置在目录/Users/helloword/software/gradle-6.6,通过mac终端执行指令配置环境。四、Zookeeper3.4.6安装
直接从百度网盘下载zookeeper-3.4.6.tar.gz包,解压后放置在三台机器的/app目录下。在每个目录中创建data子目录,并建立myid文件,按照特定数字填写。在zoo.cfg文件中进行配置并复制至其他机器。五、Kafka2.7源码部署
从官网下载Kafka 2.7源码,或从百度网盘获取。解压至目录/Users/helloword/software/kafka/kafka-2.7.0-src,并通过Gradle构建环境。在mac终端执行指令,生成gradle-wrapper.jar,配置依赖。将源码导入IDEA,加载Gradle构建的项目。六、源码运行
确保源码运行打印日志,需将log4j.properties复制到core的 resources目录,并在build.gradle中添加log4配置。修改config/server.properties配置,包括zookeeper路径和broker的ip。配置server、consumer、producer三个进程,确保Kafka服务、消费者和生产者能够正常工作。 整个Kafka 2.7版本源码的本地搭建步骤完成。后续计划撰写系列文章总结阅读源码的经验。关注公众号写代码的朱季谦,获取更多分类归纳的博客。2024-11-30 00:03
2024-11-29 23:38
2024-11-29 23:38
2024-11-29 23:37
2024-11-29 22:56
2024-11-29 22:29