对于运维人员来说,他们往往需要各种各样的工具来应对工作需求,近日Dustin Collins通过“The Best DevOps Tools on OSX”一文对OSX平台上的工具进行盘点,由OneAPM...一旦上传后,就会将imgur URL自动复制到剪贴板上。 keen.io——用来追踪时间段发生的一系列事件,比如Github下载的开源项目。Keen使得代码可以更清晰的可视化,取代盲目猜测。...zsh——比旧OSX自带的bash好用,可以用于结束tab、自动安装插件,并易于定制。...mackup——将配置文件备份到Dropbox上,这样一旦换新机器了,就无需数天时间,而是仅仅一个小时就能配置好开发环境。 CakeBrew——图形化管理homebrew的工具。...docker-machine——使用它来建立VirtualBox虚拟机从而运行Docker服务,也可以在OSX上安装Docker客户端。
我们都知道在启动Java时,可以通过Xms和Xmx这两个参数来指定Java的最小堆内存和最大堆内存,但这两个参数的最小值又可以是多少呢? 下面我们通过OpenJDK源码看下。...首先,通过Xms和Xmx找到对应的参数解析代码(src/hotspot/share/runtime/arguments.cpp) } else if (match_option(option, "-Xms..._min_heap_size; } static void set_min_heap_size(size_t v) { _min_heap_size = v; } 由上我们也可以看到,调用min_heap_size...第14行设置InitialHeapSize为Xms的值。 第27行设置MaxHeapSize为Xmx的值。...综上可知,Xms最小要是1M,Xmx最小要是2M。 后来在 Java command 文档也发现有类似的说明,看来官方文档还是要好好看下的。
这里说的配置方法只适合于用官方安装文件安装的 jdk。 1....查看本机已安装的java版本 运行 /usr/libexec/java_home -V 1 在我的机器上显示结果如下: Matching Java Virtual Machines (2): 1.8.0.../JavaVirtualMachines/jdk1.8.0_66.jdk/Contents/Home 1 2 3 4 5 这说明我的机器上装了两个版本的 jdk ,当前 jdk 版本是 8 版本。...多版本共存的配置 配置 ~/.bash_profile JAVA_7_HOME=$(/usr/libexec/java_home -v 1.7) JAVA_8_HOME=$(/usr/libexec/java_home...JAVA_HOME=$JAVA_8_HOME" PATH=$PATH:$JAVA_HOME 1 2 3 4 5 6 默认是 java8,如果想切到 java7,在命令行运行 jdk7 就可以了。
如果你想把你的Dock加入一个类似于最近打开的应用的功能,方便快速打开最近使用的应用的话,有什么办法吗?...Previous Mac Terminal如何支持C++11 Next 让ubuntu使用国内的源
c=10 | 2c StringBuffer c=16 | max(2c+2, x+l) https://www.cnblogs.com/lq147760524/p/6713677.html 2的3...decodeURIComponent() 判属性 isFinite()isNaN() 类型转换 Number()String() parseFloat()parseInt() getPriority() 返回线程的优先级
但是如果你暂时没有Chromebook,或者还想体验更多的手机/平板的App,这个项目也许可以帮到你:chromeos-apk! Yes!...如果是PC,MAC上的chrome,就需要稍微多一点步骤:当然可以直接参看这里。 ?...ARChon runtime 可以让你在Chrome OS 或者其他平台的桌面版Chrome上使用chromeos-apk创建无无数量限制的 Android APKs。...runtime 下载地址在这里:https://bitbucket.org/vladikoff/archon/get/v1.0.zip 注意:这个自定义的运行时将替换原有官方的运行时组件。...当然这个ARChon runtime在桌面版的chrome还不稳定。
写公众号说实话挺久了,也因此认识了很多的朋友,咨询什么的都有,总之,或多或少的帮助到过一些人。最近想了好久,我往后应该写一些什么类型的文章? 1、偏理论的?...废话不多说,几天分享几个平时开发中遇到的小问题; 一、Java中提供的空集合到底有用没有? 这是我看了几篇文章,然后结合自己项目中的代码后所理解的,这个东西首先肯定是有用的。我们来看一段代码。 ?...所以查询不到数据的时候,我们应当判断该集合是不是为null,如果为null我们应该返回一个空的集合,如果我们直接new一个ArrayList其实是非常浪费资源的,这个时候Java中提供的Collections.emptyList...但从语句上看,确实毫无问题,但是在我调试的过程中(基于SpringBoot的项目),真的是白板艰难,一直报错。一直说语法存在问题,请查询手册。...Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that
一、String类的两种定义方法 String是一个字符串类型的类,使用""定义的内容都是字符串,但是String在使用上有一点特殊,它有两种定义方式,相信所有java程序员都知道,但是有些细节却很容易被忽略...,但是结果有的是true有的是false,原因就是在java中String类的比较用==并不是比较其内容,而是比较其所在堆内存中的地址值,并非比较其数值。...不难看出在字符串比较时有比较内存地址和内容值之分,回顾之前写的一篇文章java实例化对象过程中的内存分配,我们继续来通过内存分配的方式分析上面讲的两个String定义的方式。...五、字符串常量的不可改变性 字符串一旦被定义就不可改变,但是我们不能从平时编写的代码表面地去理解它,要从内存分析上才能理解它为什么是不可改变的。...以上操作可以看到,所谓的字符串的内容实际上并未改变(Java定义好了String的内容不能改变),改变的是地址的指向。
本文将一点一滴的累计记录Java中的一些细节知识。不只是加以说明,而是所有的细节都找到来源,以官方文档、知名社区的介绍为主。...这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值。 在此解释一下Java的内存机制: Java使用一个主内存来保存变量当前值,而每个线程则有其独立的工作内存。...Java语言规范中指出:为了获得最佳速度,允许线程保存共享成员变量的私有拷贝,而且只当线程进入或者离开同步代码块时才与共享成员变量的原始值对比。...使用建议:在两个或者更多的线程访问的成员变量上使用volatile。当要访问的变量已在synchronized代码块中,或者为常量时,不必使用。...由于使用volatile屏蔽掉了VM中必要的代码优化,所以在效率上比较低,因此一定在必要时才使用此关键字。
: "SnailClimb".equals(str);// false 不过更推荐使用 java.util.Objects#equals(JDK7 引入的工具类)。...在Java中null==null将返回true。 不能使用一个值为null的引用类型变量来调用非静态方法,否则会抛出异常 2....注意:如果你的IDE(IDEA/Eclipse)上安装了阿里巴巴的p3c插件,这个插件如果检测到你用 ==的话会报错提示,推荐安装一个这个插件,很不错。 3. BigDecimal 3.1....BigDecimal 的用处 《阿里巴巴Java开发手册》中提到:浮点数之间的等值判断,基本数据类型不能用==来比较,包装数据类型不能用 equals 来判断。...《阿里巴巴Java开发手册》对这部分内容也有提到如下图所示。 ? 《阿里巴巴Java开发手册》对这部分BigDecimal的描述 3.5.
在面试的过程中往往会遇到javase的题目,这个又是容易被忽略,来看一下是哪些呢? 1)运行时异常,非运行时异常。 运行时异常可进行处理,也可不进行处理。...4.Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现。...Java语言没有提供释放已分配内存的显示操作方法。 7)同步和异步有何异同,在什么情况下分别使用他们?举例说明。...是否能作用在byte上?...是否能作用在long上? 是否能作用在String上? switch(expr1)中,expr1是一个整数表达式。
它允许您运行Groovy脚本,这意味着您拥有熟悉的类似 Java的语法,而没有太多的样板代码。您还可以引导新项目或为其编写自己的命令。...(SDK Manager)或使用Homebrew或MacPorts(如果您是OSX用户)。有关 全面的安装说明,请参见 “入门”一节中的第10.2节“安装Spring Boot CLI”。...请使用 -- 将命令与“spring”命令参数分开,如以下示例所示: $ spring run hello.groovy -- --server.port=9000 要设置JVM命令行参数,可以使用 JAVA_OPTS...环境变量,如以下示例所示: $ JAVA_OPTS=-Xmx1024m spring run hello.groovy 在Microsoft Windows上设置 JAVA_OPTS 时,请确保引用整个指令...,例如 set "JAVA_OPTS=-Xms256m -Xmx2048m" 。
Java当中的IO流 在Java中,字符串string可以用来操作文本数据内容,字符串缓冲区是什么呢?...因为input和output) Java提供了io技术的操作,数据是在硬盘上的,在文件中体现的,所以要了解文件的相关信息,在学习过程中,遇到不会的就百度,先百度,一般问题都可以解决的....了解Java中的File文件 java.io 类 File java.lang.Object -> java.io.File 知道的实现接口: Serializable,ComparableJava的健壮性 要进行健壮性的判断,防止错误 对文件进行过滤,进行筛选 // 获取目录下的所有文件 File dir = new File("e:\\java"); File[] files...为通过数据流,序列化和文件系统提供系统输入和输出的 java.io 类 OutputStream java.lang.Object -> java.io.OutputStream 实现的接口: Closeable
预计阅读时间: 18分钟 本来是打算把java代理模式给写一下的,但是整理思路的时候发现这是一个庞大的工程,我需要讲清楚什么是代理模式; 它的应用场景有哪些;代理又分为静态代理和动态代理,它们分别是如何实现的...事实上我们没有必要去定义每个学生,因为每个学生的行为是没办法确定的,我们可以通过动态代理在它做这个动作的时候去实现他的特定行为。...这里有个重点,通过代理类对象jackProxy去调用方法和接口实现类对象jack去调用方法是有明显区别的,通过代理方式去调用,可以在原来方法执行前后做一些其它操作,这就是代理模式的特点 那些你容易忽略的细节...注意:我是在IDEA上调试成功的,我在Android Studio上测试是没有生成的。暂时不知道原理,有了解的大佬可以科普一下。...; import java.lang.reflect.Method; import java.lang.reflect.Proxy; import java.lang.reflect.UndeclaredThrowableException
从maven依赖定义顺序到Java spi机制,这些你忽略了的细节 一、起因 故事是这样的,新建一个SpringBoot项目的时候,把依赖都加进去之后,run起来,报错了!!...如果大家正在寻找一个java的学习环境,或者在开发中遇到困难,可以加入我们的java学习圈,点击即可加入,共同学习,节约学习时间,减少很多在学习中遇到的难题。...如图, 这个文件是干什么用的呢,这就牵扯到了Java spi机制。...四、Java spi机制 SPI 全称为 (Service Provider Interface) ,是JDK内置的一种服务提供发现机制,常用于创建可扩展、可替换组件的应用程序,是java中模块化插件化的关键...这些SPI的接口是由Java核心库来提供,而SPI的实现则是作为Java应用所依赖的jar包被包含进类路径(CLASSPATH)中。例如:JDBC的实现mysql就是通过maven被依赖进来。
3) CLI 模式(命令行模式(以前称为非 GUI)/无头模式) 可从任何 Java 兼容操作系统(Linux、Windows、Mac OSX 等)进行负载测试 4) 完整且可随时呈现的动态 HTML...set JVM_ARGS=-Xms1024m -Xmx1024m -Dpropname=value 可用参数: DDRAW - 用于直接绘制JVM选择, 例如-Dsun.java2d.ddscale=true...默认为-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m JMETER_BIN - JMeter bin 目录( 必须以 \ ) JMETER_COMPLETE_ARGS -...其他 HEAP 和 GC_ALGO 选项将被忽略。...Java 选项, 他会将其添加到java执行的命令行中。
Builder镜像支持该功能) 缩短基于容器平台的Java构建时间 自从我们在2015年7月发布OpenShift 3以来,我从开发人员那里得到的最常见问题之一就是如何为基于Java的构建节省更长的构建时间...它还将配置为在端口8081上具有服务,并在您决定的任何主机名上具有路由,以供外部访问。...与上一个示例一样,使用EAP,通过使用工件存储库管理器(例如Nexus),我们可以在构建时间上获得40秒钟以上的收益。...另外,我们可以使用增量构建在基于Java的构建上获得更好的性能,但重要的是要理解,即使这种方法更易于设置,也存在一些缺点,例如需要镜像支持增量模式。...这意味着,如果连续的构建在不同的节点上运行,则每个节点都必须首先从OpenShift的Docker注册表中拉取镜像,这可能比再次拉取依赖项花费的时间更长。
我们都知道java是一门面向对象的一门语言,在这里就要说下面向过程了,它们有什么不同呢? 这是一个值得思考的问题!... 类是对一类事物的描述,是 抽象的 、概念上的定义 对象是 实际存在 的该类事物的每个个体,因而也称为 实例 (instance) 。...同 理,Java 代码世界是由诸多个不同功能的 类 构成的。 现实生物世界中的细胞又是由什么构成的呢?细胞核、细胞质、 … 那么, Java中用类 class 来描述事物也是如此。...若方法含有参数: 形参 :方法声明时的参数 实参: 方法调用时实际传给形参的参数值 Java 的实参值如何传入方法呢?...Java 里方法的参数传递方式只有一种: 值传递 。 即将实际参数值的副本 (复制品)传入方法内,而参数本身不受影响。
Kubernetes 上 Java 应用的最佳实践 本文翻译自 Best Practices for Java Apps on Kubernetes 。...在本文中,您将了解在 Kubernetes 上运行 Java 应用程序的最佳实践。大多数这些建议也适用于其他语言。...我写了很多关于 Kubernetes 和 Java 的主题。您可以在我的博客上找到许多实际示例。...不要将 Limit 设置得太低 我们是否应该为 Kubernetes 上的 Java 应用设置 limit ?答案似乎显而易见。...我希望这篇文章能帮助您在 Kubernetes 上运行 Java 应用程序时避免一些常见的陷阱。
领取专属 10元无门槛券
手把手带您无忧上云