首页 文章 精选 留言 我的

精选列表

搜索[构建目录],共10029篇文章
优秀的个人博客,低调大师

Linux 小知识翻译 - 目录 (完结)

偶尔在网上看到的这篇文章,总结了linux中一些天天在说的概念。可能是因为天天说的关系, 一直以为自己知道这些概念。其实对有些概念也只是似是而非的了解而已。 为此,决定将所有的小知识点全翻译下来,给自己看也是给大家参考。 原文是日文的(http://www.lpi.or.jp/lpic/examination/knowledge.shtml),翻译水平有限,难免有些错误,欢迎大家指出。 全部知识点一共 54 个,今天开始争取每天翻译一个知识点。 1. 「i386」是什么? 2. 「Linux」怎么读? 3. 「Linux和CPU的兼容性」 4. 「Linux的吉祥物企鹅叫什么名字?」 5. 「Linux」和「发行版」之间的关系 6. 「Linux」和病毒 7. 「packet」(网络数据包) 8. 「版本号」的命名方式 9. 「Unix」和「兼容Unix的OS」 10. 「为什么安全是互联网的问题?」 11. 「模块」 12. 「RAID」 13. 「克隆」 14. 「文件系统的种类」 15. 「分区」 16. 「环境变量」 17. 「路径设置」(这里的路径其实就是环境变量 PATH) 18. 「命令行的提示符」 19. 「单CD 的linux」 20. 「协议(protocol)」 21. 「TCP/IP」 22. 「别名」 23. 「端口和端口号」 24. 「端口限制」 25. 「Linux之父 Linus」 26. 「内核(kernel)」 27. 「小型移动式PC」 28. 「架构」(arch) 29. 「架构 续」(arch) 30. 「X Window系统」 31. 「桌面环境」 32. 「Shell」(也就是命令行接口) 33. 「Shell 脚本」 34. 「虚拟化技术」 35. 「虚拟化技术 续」 36. 「cron」 37. 「/proc 文件夹」 38. 「服务器」 39. 「补丁」(patch) 40. 「代理服务器」 41. 「编译器和解释器」 42. 「GCC」 43. 「邮件服务器」 44. 「DNS服务器」 45. 「动态DNS」(DDNS) 46. 「BitTorrent」(也就是下片子的 BT) 47. 「SCP和SFTP」 48. 「LDAP」 49. 「如何成为 Linux 内核开发者」 50. 「UTC 和 JST」 51. 「NTP」 52. 「RFC」 53. 「日志」(log) 54. 「syslog」 本文转自wang_yb博客园博客,原文链接:http://www.cnblogs.com/wang_yb/p/3751378.html,如需转载请自行联系原作者

优秀的个人博客,低调大师

认识 lib 目录里的 .so 文件

当我们安装了共享库并运行了 ldconfig 之后,通常我们会在 lib/ 里看到三个 .so 文件。这里的 so 是 shared object 之意。 libfoo.so.1.0.0 这是普通的(regular)共享库文件。可能有多个版本的该文件并存。 libfoo.so -> libfoo.so.1.0.0 这个符号链接一般用在程序的链接过程(link)。你向 linker 指定的参数 -lfoo 便是在寻找并链接 libfoo.so 这个文件。通常情况下这总是个指向具体动态库的符号链接,因为有可能你需要在不同版本的库间切换。 libfoo.so.1 -> libfoo.so.1.0.0 这个符号链接一般用在程序的运行时。每个 .so 都会有一个 SONAME。应用程序根据 SONAME 来寻找并加载共享库。libfoo.so.1 就是一个 SONAME。你可以通过 objdump -p libfoo.so.1.0.0 或 readelf -d libfoo.so.1.0.0 查看它。对于共享库的编写者来说,SONAME 相同的库应互相兼容。 有些包管理器(如 debian)会使用不同的包名来表示不同版本的共享库,因此你可以独立地安装、卸载、使用特定的共享库版本。 ldconfig 可以根据 libfoo.so.1.0.0 这样的共享库文件生成相应的符号链接文件。 你可能会遇到下述情况,这会导致崩溃: app 使用了共享库 liba.so.2 和 libb.so.1 libb.so.1 使用了共享库 liba.so.1 可以看到,程序同时加载了不同版本的 liba.so。 拓展阅读 Shared Libraries - Program Library HOWTO 原文链接 https://blog.xupu.name/p/linux-so-files-in-lib-folder/

优秀的个人博客,低调大师

监控目录中文件上传HDFS中

代码实例 package oa.epoint.com.watchFile; import java.util.Date; import java.util.Timer; import java.util.TimerTask; /** * Title: 文件监控之定时器 */ public class FileScheduler { //定时器设置 private final Timer timer; //构造方法 public FileScheduler(){ timer = new Timer();; } //设置守护线程 public FileScheduler(boolean isDaemon){ // 是否为守护线程 timer = new Timer(isDaemon); } /** * MethodsTitle: 为定时器分配可执行任务 */ public void schedule(Runnable task,TimeStep step){ Date time = step.next(); SchedulerTimerTask timeTask = new SchedulerTimerTask(task,step); // 安排在指定的时间 time 执行指定的任务 timetask timer.schedule(timeTask, time); } /** * MethodsTitle: 重新执行任务 */ private void reSchedule(Runnable task,TimeStep step){ Date time = step.next(); SchedulerTimerTask timeTask = new SchedulerTimerTask(task,step); // 安排在指定的时间 time 执行指定的任务 timetask timer.schedule(timeTask, time); } /** * MethodsTitle: 停止当前定时器 */ public void cancle(){ timer.cancel(); } /** * Title:停止当前定时器 */ private class SchedulerTimerTask extends TimerTask{ private Runnable task; private TimeStep step; public SchedulerTimerTask(Runnable task,TimeStep step){ this.task = task; this.step = step; } public void run() { // 执行指定任务 task.run(); // 继续重复执行任务 reSchedule(task, step); } } } package oa.epoint.com.watchFile; import java.util.Date; import java.util.Timer; import java.util.TimerTask; /** * Title: 文件监控之定时器 */ public class FileScheduler { //定时器设置 private final Timer timer; //构造方法 public FileScheduler(){ timer = new Timer();; } //设置守护线程 public FileScheduler(boolean isDaemon){ // 是否为守护线程 timer = new Timer(isDaemon); } /** * MethodsTitle: 为定时器分配可执行任务 */ public void schedule(Runnable task,TimeStep step){ Date time = step.next(); SchedulerTimerTask timeTask = new SchedulerTimerTask(task,step); // 安排在指定的时间 time 执行指定的任务 timetask timer.schedule(timeTask, time); } /** * MethodsTitle: 重新执行任务 */ private void reSchedule(Runnable task,TimeStep step){ Date time = step.next(); SchedulerTimerTask timeTask = new SchedulerTimerTask(task,step); // 安排在指定的时间 time 执行指定的任务 timetask timer.schedule(timeTask, time); } /** * MethodsTitle: 停止当前定时器 */ public void cancle(){ timer.cancel(); } /** * Title:停止当前定时器 */ private class SchedulerTimerTask extends TimerTask{ private Runnable task; private TimeStep step; public SchedulerTimerTask(Runnable task,TimeStep step){ this.task = task; this.step = step; } public void run() { // 执行指定任务 task.run(); // 继续重复执行任务 reSchedule(task, step); } } } package oa.epoint.com.watchFile; import java.util.Date; import java.util.Timer; import java.util.TimerTask; /** * Title: 文件监控之定时器 */ public class FileScheduler { //定时器设置 private final Timer timer; //构造方法 public FileScheduler(){ timer = new Timer();; } //设置守护线程 public FileScheduler(boolean isDaemon){ // 是否为守护线程 timer = new Timer(isDaemon); } /** * MethodsTitle: 为定时器分配可执行任务 */ public void schedule(Runnable task,TimeStep step){ Date time = step.next(); SchedulerTimerTask timeTask = new SchedulerTimerTask(task,step); // 安排在指定的时间 time 执行指定的任务 timetask timer.schedule(timeTask, time); } /** * MethodsTitle: 重新执行任务 */ private void reSchedule(Runnable task,TimeStep step){ Date time = step.next(); SchedulerTimerTask timeTask = new SchedulerTimerTask(task,step); // 安排在指定的时间 time 执行指定的任务 timetask timer.schedule(timeTask, time); } /** * MethodsTitle: 停止当前定时器 */ public void cancle(){ timer.cancel(); } /** * Title:停止当前定时器 */ private class SchedulerTimerTask extends TimerTask{ private Runnable task; private TimeStep step; public SchedulerTimerTask(Runnable task,TimeStep step){ this.task = task; this.step = step; } public void run() { // 执行指定任务 task.run(); // 继续重复执行任务 reSchedule(task, step); } } } package oa.epoint.com.watchFile; import java.util.Date; import java.util.Timer; import java.util.TimerTask; /** * Title: 文件监控之定时器 */ public class FileScheduler { //定时器设置 private final Timer timer; //构造方法 public FileScheduler(){ timer = new Timer();; } //设置守护线程 public FileScheduler(boolean isDaemon){ // 是否为守护线程 timer = new Timer(isDaemon); } /** * MethodsTitle: 为定时器分配可执行任务 */ public void schedule(Runnable task,TimeStep step){ Date time = step.next(); SchedulerTimerTask timeTask = new SchedulerTimerTask(task,step); // 安排在指定的时间 time 执行指定的任务 timetask timer.schedule(timeTask, time); } /** * MethodsTitle: 重新执行任务 */ private void reSchedule(Runnable task,TimeStep step){ Date time = step.next(); SchedulerTimerTask timeTask = new SchedulerTimerTask(task,step); // 安排在指定的时间 time 执行指定的任务 timetask timer.schedule(timeTask, time); } /** * MethodsTitle: 停止当前定时器 */ public void cancle(){ timer.cancel(); } /** * Title:停止当前定时器 */ private class SchedulerTimerTask extends TimerTask{ private Runnable task; private TimeStep step; public SchedulerTimerTask(Runnable task,TimeStep step){ this.task = task; this.step = step; } public void run() { // 执行指定任务 task.run(); // 继续重复执行任务 reSchedule(task, step); } } }

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册