Java 查漏补缺之: GC 垃圾回收

说到 Java 很多人脑海会直接蹦出内存自动回收,会经常听到 GC 这些词,GC 指的是 Garbage Collection 也就是垃圾回收。说到垃圾回收就不可避免的去看下 Java 的内存管理机制。 内存管理 提到内存管理可能很多人都会联想起 C/C++ 的手动内存管理,以及 Java/Python 的自动管理,但实际上这都是指的堆内存管理。常规的内存管理可以分成两个部分,栈内存管理和堆内存管理。 栈的发明解决了部分内存的自动回收,但是栈的局限在于只能自动管理固定长度的内存,而对于堆内存,不同语言有不同的管理方式: 纯手动管理 C/C++ Read more ...

2015-02-27 java , gc , garbage-collection

每天学习一个命令:xclip 与剪贴板交互

xclip 命令可以从 stdin,或者文件读入数据到剪贴板,或者将剪贴板内容粘贴到目的应用中。xclip 命令建立了终端和剪切板之间通道,可以用命令的方式将终端输出或文件的内容保存到剪切板中,也可以将剪切板的内容输出到终端或文件 安装 sudo apt-get xclip 命令格式 xclip [OPTION] [FILE] ... 常用参数: -i 从 stdin 读入 -o 打印到标准输出 使用实例 不加选项时只在保存在 X PRIMARY(终端剪切板),加上选项 -selection c 后保存在 X C Read more ...

2015-02-26 linux , command , xclip

Java 的 IO 操作 java.io 包

InputStream 和 Reader 的区别 InputStream 是 byte 导向 Reader Writer 是字符导向 Read more ...

2015-02-20 java , java-io , io

每天学习一个命令:ffprobe 查看多媒体信息

在 ffmpeg package 中有一个 ffprobe 工具,主要用来查看多媒体文件或者流媒体信息,在线的视频信息也能够快速获取。大部分情况下个人比较喜欢使用 ffmpeg -i input.mp4 来快速查看,这种时候在终端上比较快速,而如果有些时候想要分析一下媒体文件,需要编程获取得到的媒体文件结果,显然 ffmpeg 的输出结果简直无法忍受,而 ffprobe 提供非常清晰的输出格式,非常方便的可以提供给编程软件解析使用。 官网说明:http://ffmpeg.org/ffprobe.html 命令格式 ffprobe [OPTION] Read more ...

2015-02-09 linux , ffmpeg , ffplay , ffprobe , command

每天学习一个命令:sed 流式字符编辑器

sed 全名叫 stream editor,是面向字符流的编辑器,能够完美地配合正则表达式使用。sed 提供的功能是交互式文本编辑器的延伸,提供的查找替换程序可以被全局应用于单个文件或多个文件。 面向字符流,是因为输入流通过程序并将输出直接输出到标准输出。 sed 处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用 sed 命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非使用重定向存储输出。sed 主要用来自动编辑一个或多个文 Read more ...

2015-01-15 linux , command , sed , editor

Vim 插件之: vim-surrounding

vim-surrounding 插件可以轻松的一次性修改成对出现的,比如 (), [], {}, 双引号,XML 标签等等。提供了 增加 删除 修改 包围内容的方法。 首先放上链接: https://github.com/tpope/vim-repeat Installation Plugin 'tpope/vim-surrounding' Usage 用下面的例子做 demo print("hello world") 光标定位在 hello world 包括引号,那么使用如下的命令可以实现双引号替换成单引 Read more ...

2015-01-04 vim , vim-plugin , vim-surrounding , tpope

jhat 使用

jhat 是 Java 的堆分析工具(Java heap Analyzes Tool),在 JDK 6u7 之后成为 JDK 标配。 用法 jhat [options] heap-dump-file 说明: options 参数 heap-dump-file 二进制 Java 堆文件,可以使用 jmap 导出 可选参数 -stack false|true 关闭对象分配调用栈跟踪 (tracking object allocation call stack)。 如果分配位置信息在堆转储中不可用,则必须将此标志设置为 false Read more ...

2015-01-03 java , jvm , jhat , heap , tool

jmap 命令使用及内存分析

jdk 自带的命令用来 dump heap info,或者查看 ClassLoader info,等等。 命令格式 jmap [OPTION] PID 使用实例 不加任何参数 直接使用命令 jmap pid 查看 pid 内存信息。 查看堆信息 jmap -heap pid 查看堆对象信息 统计对象 count ,live 表示在使用 jamp -histo pid jmap -histo:live pid 查看 classLoader jmap -clstats pid 生成堆快照 jmap -dump:form Read more ...

2015-01-02 jmap , jstack , jdk , jvm , java

网件 WNDR3800 刷机

进入 U-boot 路由先断电,然后按住复位键或者 WPS 键开机,保持 10S 钟左右,然后用网线连接 LAN 口和电脑,打开浏览器进 192.168.1.1,就可以进入 U-boot 控制台,进去刷写固件 操作路径 :固件更新 -> 固件 -> 选择固件文件 -> 上传 -> 更新,刷完后机器会自动重启。 固件 自行编译 https://github.com/coolsnowwolf/lede 或者下载他人编译好的固件。 Read more ...

2014-11-25 openwrt , wndr3800 , router , linux , tutorial

继续折腾 WNDR3800 之 shadowsocks

之前 也说过在 Openwrt 下使用迅雷远程下载,现在因为不想在 PC 端总是开着一个 shadowsocks 的程序,所以将 shadowsocks 安装到路由器端。然后还顺带解决一下 DNS 污染,和流量智能转发。 Shadowsocks 下载 编译好的 ipk opkg update opkg install libpolarssl opkg install shadowsocks-libev_1.5.1_ar71xx.ipk shadowsocks 安装后有三个命令,ss-local 启动 sock5 代理,ss-redir 启动透明代 Read more ...


最近文章

  • Flutter 教程系列一: freezed 使用 不管在什么样的应用中,如果要处理大量的数据,不可避免的就是要定义大量的数据类用来装载和解析数据,在 Flutter 中也不例外,今天要介绍的这个 Freezed 库就是 Flutter 中用来作为数据类(data classes)代码生成的这样一款工具。
  • RAG 简介 什么是 RAG
  • Homerow 配置 macOS 全键盘操作 今天想要和大家分享一下一款非常有趣的应用,叫做 Homerow,他之前的名字叫做 vimac,是一款可以在 macOS 上实现全键盘操作的工具。
  • 自动化运维工具 Puppet 介绍 Puppet 是一个开源的强大的基础设施配置管理工具,很早之前我介绍过一款 Python 编写的开源的自动化运维工具 Ansible,后面陆陆续续还分享过如何使用 Ansible 去管理 Contab,如何使用 Roles 来结构化并管理大量的 Ansible 配置。而今天要介绍的 Puppet 是另外一款运维自动化工具,被广泛用于自动化管理多个服务器配置。
  • Gemini 2 的原生多模态图片生成 Google 今天发布了 Gemini 2.0 Flash 的多模态图像生成功能。