820 次浏览
未命名模块是未命名包的概念。它是一个模块,其中包或类不能在任何命名模块中定义,但存在于类路径中的 jar 文件中。如果我们的代码尝试从这些文件加载类型,则模块系统会尝试查找类路径并加载它。未命名模块读取所有其他模块,包括所有命名模块和内置平台模块,并且还导出其所有包。未命名模块中的包可以被忽略,它也在命名模块中定义。未命名模块可以访问:模块路径中所有其他模块导出的所有包。所有 jar ... 阅读更多
278 次浏览
Java 9 改进了 Process API,它有助于管理和控制操作系统进程。在 Java 9 之前,使用 Java 程序管理和控制操作系统进程一直很困难。从 Java 9 开始,添加了新的类和接口来通过 Java 程序控制操作系统进程。添加了新的接口,如 ProcessHandle 和 ProcessHandle.Info,并且还向 Process 类添加了新方法。在下面的示例中,我们可以遍历 Process API 的进程树(子进程和后代进程)。示例import java.io.IOException; public class ProcessTreeTest { public static void main(String args[]) throws IOException { Runtime.getRuntime().exec("cmd"); ... 阅读更多
652 次浏览
Java 9 对 Process API 进行了改进,用于获取正在运行的进程的 PID,获取进程的子进程和/或后代,还添加了一个新类,用于列出所有正在运行的进程,获取有关任意进程的信息,以及遍历进程树。这些方法返回的信息可能是操作系统上正在运行的进程的快照。在下面的示例中,我们可以使用 ProcessHandle 的 pid() 方法获取正在运行的进程的 ID。示例public class ProcessHandleTest { public static void main(String args[]) { ProcessHandle processHandle = ProcessHandle.current(); System.out.println("PID of running Process: " + ... 阅读更多
238 次浏览
JShell 是一个用于学习 Java 的交互式工具,它是一个 REPL(读取-评估-打印-循环),用于评估声明、语句和表达式。退出 JShell 会话时,我们希望将之前输入的新会话中重用代码。这可以通过使用命令完成:/open [File_Path]。此命令将加载在作为选项提供的文件 [File_Path] 中找到的所有代码和内部命令。在下面的代码片段中,我们可以使用"/open [File_Path]"命令从具有“.jsh”扩展名的目录加载源代码。C:\Users\User>jshell | Welcome to JShell -- Version 9.0.4 | For an introduction type: /help intro jshell> ... 阅读更多
1K+ 次浏览
可以使用 PHP 中的以下代码验证域名 -示例实时演示 $domain_name = 'https://tutorialspoint.com' is_valid_domain_name($domain_name)输出这将产生以下输出 - $domain_name = 'https://tutorialspoint.com' is_valid_domain_name($domain_name)在上面的代码中,'preg_match' 函数用于匹配传递给用户定义函数 'is_valid_domain_name' 的域名。
236 次浏览
要在 Windows 上安装 Imagick 或 Imagemagick,请按照以下步骤操作 -检查 .dll 文件的权限。这将确保 Apache 用户对该文件具有读取权限。最好更改 [PHP]/extension 目录的权限。为了更改权限,请按照以下步骤操作 -右键单击文件(或)文件夹(或)选择“属性”选择“安全”选项卡单击“编辑”按钮。将用户的权限更改为完全控制。
2K+ 次浏览
可以在分配内存到创建的类之前和之后调用 memory_get_usage() 函数。class MyBigClass { var $allocatedSize; var $allMyOtherStuff; } function AllocateMyBigClass() { $before = memory_get_usage(); $ret = new MyBigClass; $after = memory_get_usage(); $ret->allocatedSize = ($after - $before); return $ret; }输出将是对象相对于环境设置的内存。
在 PHP 5.3 版中,可以使用以下代码调用数组中对象的的方法 -$props = array_map(function($obj){ return $obj->getProp(); }, $objs);这将比“for”循环慢,因为它为每个元素调用一个函数 -function map($obj) { return $obj->getProperty(); } $props = array_map('map', $objs);或者,对于 PHP 5.3 之前的版本,可以使用以下代码 -function map($obj) { return $obj-> getProperty (); } $props = array_map('map', $objs); }getProperty 函数将被调用到所有对象上,并显示特定属性。 替代方案 -function encode_data($val){ if(is_array($val)){ return $val = ... 阅读更多
简短的答案是否定的。POST/GET 值永远不会为 null。它们最多可以是空字符串,然后可以将其转换为 null/'NULL' -示例实时演示if ($_POST['value'] === '') { $_POST['value'] = null; } echo'Null assigned';输出这将产生以下输出 -Null assigned
257 次浏览
PHP 不支持类似 friend 的声明。它可以在 PHP5 中使用 __get 和 __set 方法以及检查回溯以获取允许的 friend 类来模拟。但这种类型的编码实践被认为很笨拙 -class sample_friend { private $__friends = array('My_Friend', 'Other_Friend'); public function __get($key) { $trace = debug_backtrace(); if(isset($trace[1]['class']) && in_array($trace[1]['class'], $this->__friends)) { return $this->$key; } // __get() code goes here trigger_error('Cannot access private property ' . __CLASS__ . '::$' . $key, E_USER_ERROR); ... 阅读更多