Posts List

macOS下使用Docker

安装docker brew install bash-completion brew cask install docker 初始化docker 安装完成之后,应用会增加一个Docker app,启动后需要输入密码来初始化,然后就可以使用命令行docker命令了。 构建docker镜像 准备Dockerfile 比如: FROM centos:7 LABEL maintainer="suninf <sunjiangwei@yeah.net>" # RUN yum update && yum clean all ...

Java8 Optional

Optional对象支持值可空的抽象,特别是针对Java中的NPE问题,Optional可以很好的显式的来应对。 比如: user.getAddress().getProvince(); 这种写法,在user为null时,是有可能报NullPointerException异常的。为了解决这个问题,于是采用下 ...

Docker命令使用

拉取镜像 比如:安装centos镜像,https://hub.docker.com/ 中搜索centos,有tag为7.9.2009的镜像 docker pull centos:7.9.2009 构建docker镜像 也可以自己定义Dockerfile来创建镜像 准备Dockerfile 比如: FROM centos:7 LABEL ...

What does it mean to manage up?

For the most part, employees expect to take direction from their managers. But anyone who’s ever worked for a boss who is disorganized, scatterbrained, or simply overworked knows how difficult it can be to figure out exactly what’s expected of them. When your manager is spectacularly swamped — or, like a significant majority of other bosses, simply disengaged — tackling your job responsibilities can be a bit tricky if for no other reason than you might not know precisely what they are. If you find yourself in such a situation, you generally have two options. You could either grit your teeth and try to endure the uncertainty or you can try ...

张一鸣:优秀年轻人的5种特质

大家好!各位都非常年轻,我今天来的时候挺有压力。看到你们,真是觉得“长江后浪推前浪”。 我昨天就在想,今天应该跟大家分享什么。想了想,先把题目拟出来,把乔布斯的“Stay hungry, Stay foolish”,改成“Stay hungry, Stay young”。 我想跟大家分享一下 ...

Java switch原理

switch在Java编译器处理的底层实现是使用 int 型 来进行判断的,即使是枚举、String类型,最终也是转变成 int 型。由于 long 型表示范围大于 int 型,因此不支持 long 类型。 例如: public static int stringSwitch(String ss) { switch (ss) { case "ABCDEa123abc": return 1; case "ABCDFB123abc": return 2; case "helloWorld": return 3; default: return Integer.MAX_VALUE; } } 反编译的结果: public static int stringSwitch(String ...

Java中isAssignableFrom()方法与instanceof()方法用法

一句话总结: isAssignableFrom()方法是从类继承的角度去判断,instanceof()方法是从实例继承的角度去判断。 isAssignableFrom()方法是判断是否为某个类的父类,instanceof()方法是判断是否某个类 ...

Java 数组操作

本文整理Java数组和集合操作的惯用法。 数组填充与复制 填充数组元素 byte[] a = new byte[3]; Arrays.fill(a, (byte)123); 复制一个范围内的数组元素 // Copy 8 elements from array 'a' starting at offset 3 // to array 'b' starting at offset 6, // assuming 'a' and 'b' are distinct arrays byte[] a = (...); byte[] b = (...); System.arraycopy(a, 3, b, 6, 8); 调整数组大小 a = Arrays.copyOf(a, newLen); 可变参数列表转范型数组 public class Test { public static void ...

树莓派初体验

本文介绍树莓派的基本装机配置,所用设备是树莓派3B+。 装机准备 下载系统 https://www.raspberrypi.org/downloads/raspbian/ mac写系统工具 https://www.balena.io/etcher/ 开机配置 配置ssh /boot 目录下建立ssh空文件 默认wifi /boot 目录下新建 wpa_supplicant.conf 文件 country=CN ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="WiFi-A" psk="12345678" key_mgmt=WPA-PSK priority=1 } 参考: http://shumeipai.nxez.com/2017/09/13/raspberry-pi-network-configuration-before-boot.html 配置静态ip 配置静态ip有利于树莓派的管理,编辑/ ...

x264低延时编码

本文分析下x264做视频编码时的低延时配置 低延时配置与参数说明 x264的zerolatency配置代码: else if( !strncasecmp( s, "zerolatency", 11 ) ) { param->rc.i_lookahead = 0; param->i_sync_lookahead = 0; param->i_bframe = 0; param->b_sliced_threads = 1; param->b_vfr_input = 0; param->rc.b_mb_tree = 0; } i_lookahead 该参数为mb-tree码率控制和vbv-lookahead设置可用的帧数量,最 ...

毕玄:程序员的成长路线

前面两篇程序员的成长路线文章比较受欢迎,决定再重新整合写一篇,希望自己和大家能够一起在这条路上成长的更好,这篇文章主要讲程序员的硬实力的能力成长,软实力那些就不多讲了。 从业余程序员到职业程序员 程序员刚入行时,我觉得最重要的是把自己培养成职业 ...

FLV结构分析

FLV(Flash Video)是现在非常流行的流媒体格式,由于其视频文件体积轻巧、封装播放简单等特点,使其很适合在网络上进行应用。目前流行的rtmp推流直播,格式都是flv,而且基于http-flv形式来拉流,直播的实时性也很高。 格式 FLV ...

决定人生的是思维方式,而不是你掌握的知识

我们的思维模式会逐渐固化,要想有所改变,改变思维模式才是唯一有效的办法。 已故历史学家Will Durant和Ariel Durant花了四十年的时间研究、编纂和撰写西方文明史。他们几十年如一日的成果《The Complete Story of Civilization》字数高 ...

CLion远程调试

CLion是JetBrains出品的C++ IDE,工程管理使用cmake。除了本地调试之外,CLion还支持远程调试,本文介绍下基于CLion的远程调试的配置,远程服务器环境是CentOS。 CentOS依赖依赖 # cmake yum install cmake -y # gcc & gdb yum install gcc-c++ -y yum ...

JVM调优之 内存泄漏问题

java会自动收回不再使用的内存,但是不要以为jvm帮我们回收了内存就不会出现内存泄漏。 程序发生内存泄漏后,进程的可用内存会慢慢变少,最后的结果就是抛出OOM错误。发生OOM错误后可能会想到是内存不够大,于是把-Xmx参数调大,然后重启应用 ...