Windows根据PID获取程序路径

若想根据端口号获得进程号请参考前贴:Windows/Linux根据端口结束进程与根据端口找到程序位置根据pid获取程序:wmic process get name,executablepath,processid|findstr pid号

IDEA设置自动清理无效包引用

手动清理一般用快捷键:Ctrl+Alt+O或者在菜单Code里找到这个选项:但是是否嫌麻烦,每次都要点,可以试试设置自动清除自动清理Setting里搜索Auto Import,勾选Optimize imports on the fly即可

IDEA设置自动清理无效包引用

JavaFX在IDEA配置Scene Builder与简单入门

1、在Oracle官网下载JavaFX Scene Builder:https://www.oracle.com/java/technologies/javase/javafxscenebuilder-info.html2、安装好后在idea设置中搜索javafx,在Path to SceneBuilder中填写软件程序路径3、idea创建JavaFx项目4、可以鼠标右键创建新布局fxml5、鼠标右键可以以Scene Builder打开布局文件,这里打开示例sample.fxml6、打开后可以拖动控件进行设计布局7、这里我们加了个布局跟控件模拟登录,Hierarchy中会显示当前所有布局情况,右侧code面板中id可以给控件命名方便代码调用,例如下图给用户名id命名为usernameField,登录id设置为loginButton,其他控件类似,并且登录按钮绑定事件方法login。8、点击左侧Controller选择Controller类给fxml绑定你要写代码的Controller8、点击View->Show sample Controller Skeleton可以生成示例代码9、将生成的代码复制到Cotroller.java中,这里简单在事件中写了获取用户名密码以及重置输入框操作package sample;/** * Sample Skeleton for 'sample.fxml' Controller Class */import javafx.event.ActionEvent;import javafx.fxml.FXML;import javafx.scene.control.Button;import javafx.scene.control.PasswordField;import javafx.scene.control.TextField;public class Controller { @FXML // fx:id="usernameField" private TextField usernameField; // Value injected by FXMLLoader @FXML // fx:id="clearButton" private Button clearButton; // Value injected by FXMLLoader @FXML // fx:id="loginButton" private Button loginButton; // Value injected by FXMLLoader @FXML // fx:id="passwordField" private PasswordField passwordField; // Value injected by FXMLLoader @FXML void login(ActionEvent event) { System.out.println("账号"+usernameField.getText()); System.out.println("密码"+passwordField.getText()); } @FXML void clear(ActionEvent event) { usernameField.clear(); passwordField.setText(""); System.out.println("账号"+usernameField.getText()); System.out.println("密码"+passwordField.getText()); }}10、启动Main方法后发现怎么窗口这么小?原来是要设置窗口大小的,当然标题也可以设置,设置合适宽高

JavaFX在IDEA配置Scene Builder与简单入门

Chrome浏览器调试使用技巧

快捷键shift+enter:Console中换行ctrl + shift + D (⌘ + shift + D Mac):切换控制台位置,右侧底部相互切换ctrl + [ 和 ctrl + ]:左右切换面板ctrl + 1 到 ctrl + 9:按索引切换面板(需Settings >>Preferences>>Appearance 打开此功能)ctrl + f:查找,任何面板都支持Ctrl + Shift + P (Mac: ⌘ + Shift+ P ):打开命令输入框,可搜索命令等Ctrl+P:搜索框,输入?可查看帮助控制台命令复制内容到剪切板:copy(…),当然你亦可在elements面板直接鼠标右键复制元素输出结果保存为全局变量:控制台右击 它,并选择 “Store as global variable” (保存为全局变量) 选项。保存日志:控制台右击选Save as保存日志截图:Elements面板,鼠标右击元素选Capture node screenshoot截图,或在命令输入框数入screenshoot搜索相关命令控制台布局:在命令输入框输入layout搜索切换主题:命令输入框输入theme切换dark、light主题切换页面保留控制台输出:Console面板->Console Setting->勾选Preserve log即可控制台脚本控制台支持直接运行js代码,复制回车运行即可,若想储存脚本到浏览器,命令输入框输入snippet打开Snippets面板进行添加/运行脚本,Ctrl+P搜索框键入!可快捷搜索Snippets。$0:对我们当前选中的 html 节点的引用。$1是对上一次我们选择的节点的引用,$2是对在那之前选择的节点的引用,等等。一直到$4$_:上次执行结果$i:安装npm插件,如$i('moment')$:类似jQuery元素选择器,如$('body')$$:类似$但它返回的是节点的 数组 ,等价于Array.from(document.querySelectorAll('div'))$x:xpath选择器,例如$x('/html/body/div[4]/div[2]/div[2]/div[2]/div[2]/div[2]/div')[0].textContent异步:console 默认就被 async 包裹,因此可以直接执行promiseres=await fetch('https://hu60.cn/q.php/index.index.json'); await res.json()queryObjects(x):对象查询,例如class Person { constructor(name, role) { this.name = name; this.role = role; } greet() { return this.getMessage('greeting'); } getMessage(type) { if (type === 'greeting') { return `Hello, I'm ${this.name}!`; } }}let john=new Person('John','kid')let kids=[new Person('Mary','kid'),new Person('Luke','kid')]new Person('tom','kid')queryObjects(Person)console.assert():console.assert() 方法在第一个参数为 false 的情况下会在控制台输出信息。console.assert(document.getElementById("demo"), "没有 ID 为 'demo' 的元素");console.table():将集合数组或对象以表格形式展示,例如console.table([{"name":"张三","age":18}]);执行耗时:如下,括号中定义定时器名称,可以留空console.time('timer1');console.timeEnd('timer1');Live Expression:Console界面点击眼睛图标,可给当前网站添加动态脚本,执行250ms一次。例如可以监控页面某元素是否变化监听事件:Elements中选择元素鼠标右键Store as gload variable,一般会保存为temp1类似变量名,使用monitorEvents(temp1); //开始记录unmonitorEvents(temp1); //停止记录monitorEvents(temp1, ['mouse', 'focus']); //记录指定事件Conditional breakpoints:在Sources里鼠标右键Add Conditional breakpoints或在断点上鼠标右击编辑,当条件符合才执行断点若条件为console.log则会直接执行,因此可以通过断点直接打印数据到控制台参考:https://www.frontendwingman.com/Chrome/

Chrome浏览器调试使用技巧