首页
学习
活动
专区
工具
TVP
发布

Java进阶之路

专栏作者
68
文章
134877
阅读量
26
订阅数
程序员如何更有效得学习
对于程序员,我们对自己以及自己从事的工作,应该给一个准确清晰的定位,至少你要清楚,你是一个程序员,在你拿着高薪工作的时候,你要为这份工作付出很多,包括时间、经历和金钱,最主要的是,你需要不断学习,不断更新自己的技术栈。定位,意味着,你要认识到当前自己的优势和不足,并制定好未来的规划和技能需求,你要确定你是去大公司镀金还是去小公司独当一面,然后沿着这个方向不断学习和武装自己。
神秘的寇先森
2020-02-19
8350
数据可视化工具zeppelin安装与使用
下载安装包,修改配置文件 登录zeppeline官网 下载完解压缩 复制zeppelin-env.sh.template重命名为zeppelin-env.sh 复制zeppelin-site.xml.template重命名为zeppelin-site.xml,编辑文件 <property> <name>zeppelin.server.port</name> <value>8089</value> <description>Server port.</description> </propert
神秘的寇先森
2020-02-13
1.6K0
Lombok学习
Lombok是一个Java库,能自动插入编辑器并构建工具,简化Java开发。通过添加注解的方式,不需要为类编写getter或eques等常规方法,同时可以自动化日志变量。官网链接 简而言之:Lombok能以简单的注解形式来简化java代码,提高开发人员的开发效率。
神秘的寇先森
2019-10-22
5640
一个Java能设置key过期时间的HashMap
public class ExpiryMap<K, V> extends HashMap<K, V> { private static final long serialVersionUID = 1L; /** * default expiry time 2s */ private long EXPIRY = 1000 * 2; private HashMap<K, Long> expiryMap = new HashMap<>(); /**
神秘的寇先森
2019-10-15
3.6K0
java代码调用shell脚本
public void importDateTohive() { try { String shpath = "/data/hadoop/percisettask/2_merge_userlog.sh"; Process ps = Runtime.getRuntime().exec(shpath); ps.waitFor(); BufferedReader br = new BufferedRe
神秘的寇先森
2019-03-11
3.1K0
jdk运行模式由client vm切换到server vm
配置文件的位置如下(注意为{JRE_HOME不是JDK_HOME}): 若为64位操作系统 {JRE_HOME}/lib/amd64/jvm.cfg 若为32位操作系统 {JRE_HOME}/lib/i386/jvm.cfg Linux服务器应该设置为Server VM,如何切换? jvm.cfg配置文件里面第一行写的是 -client 默认就是client版本,把第二行的-server KNOWN 放到第一行,就会变成sercer版本,如下面所示:
神秘的寇先森
2019-01-28
1.4K0
IK分词器访问远程词典功能实现
IKAnalyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包。从2006年12月推出1.0版开始,IKAnalyzer已经推出了3个大版本。最初,它是以开源项目Luence为应用主体的,结合词典分词和文法分析算法的中文分词组件。新版本的 IKAnalyzer3.0则发展为面向Java的公用分词组件,独立于Lucene项目,同时提供了对Lucene的默认优化实现。
神秘的寇先森
2018-09-26
2K0
java中常用正则表达式
用正则表达式切割字符串;将,,和空格还有\隔开的字符分割 String [] tags=text.split("[\\,, \\\\]"); 包含, ,和空字符串 boolean flag = text.matches(".*[\\,, ]+.*"); 包含() () 和空格 boolean matches = text.matches(".*[\\(\\) (\\) ]+.*"); 包含,,() () 和空格 boolean matchesa = text.matches(".*[\\,,(\\) (
神秘的寇先森
2018-06-11
5140
Java分布式缓存框架Ehcache 使用(二)
上节谈了EHCache的基本使用,这节来谈谈EHCache使用的一些细节问题和要注意的问题。 Ehcache的类层次模型主要为三层,最上层的是CacheManager,他是操作Ehcache的入口。我们可以通过CacheManager.getInstance()获得一个单个的CacheManager,或者通过CacheManager的构造函数创建一个新的CacheManager。每个CacheManager都管理着多个Cache。而每个Cache都以一种类Hash的方式,关联着多个Elemenat。而Ele
神秘的寇先森
2018-06-07
9880
Java分布式缓存框架Ehcache 使用
在开发中大型Java软件项目时,对于频繁读写数据库的操作,为了减轻数据库的压力,我们常常会用到缓存。因为数据库连接是非常“昂贵”的资源,因此我们需要增加一个抽象层来解决,缓存层应用而生。 缓存的数据是保存在内存中的,而内存的速度是硬盘的10万倍,所以读取速度相当快。第一次访问从数据库读取数据, 并且放到缓存中;后续访问直接从缓存中读取数据;发生变化,既要更新数据库, 也要更新缓存。 说到缓存,大家可能直接印象就是Redis,方便好用。但是Redis是通过网络传输的,所以当数据库大的时候Redis的压力就太大
神秘的寇先森
2018-05-30
2.3K0
java中String的一个小陷阱
首先大家看一段代码 public class HelloWorld { public static void main(String args[]) { String s = null; s = s+"word"; System.out.println("hello " +s); } } 大家猜猜输出结果是什么?hello word吗? 错了,答案是:hello nullword 为什么会是这样的结果呢? 这是
神秘的寇先森
2018-05-30
3910
Java8新特性实践
Java 8 已经发行好几年了,作为一名Java程序员,再不应用它的美好的新特性肯定要被社会淘汰了。这篇文章,我作为一名Java8新手用代码实践Java8新特性,来探究它的美好。 1. Lambda表达式与Functional接口 Lambda表达式(也称为闭包),它允许把函数作为一个方法的参数(函数作为参数传递进方法中),或者把代码看成数据,这一特性和scala语言很像。 在最简单的形式中,一个lambda可以由用逗号分隔的参数列表、–>符号与函数体三部分表示。例如: Arrays.asList( "
神秘的寇先森
2018-05-30
8580
Java8使用并行流(ParallelStream)注意事项
Java8并行流ParallelStream和Stream的区别就是支持并行执行,提高程序运行效率。但是如果使用不当可能会发生线程安全的问题。Demo如下: public static void concurrentFun() { List<Integer> listOfIntegers = new ArrayList<>(); for (int i = 0; i <100; i++) { listOfIntegers.
神秘的寇先森
2018-05-30
12.8K1
纪念第一次手写源码
前几天看百度面试题,有一道题是手写Arraylist,于是一直在心中就想怎么实现,看自己能不能写出,于是翻源码看,感觉有些方法能看懂,但是有些确实需要很高深的数据结构的功底才能写出来,自己心里有点后怕。 但是我不服气啊哈哈! 今天就在java交流群里试探大家怎么看这件事,可是好多竟然都说很简单,我不知道那些是装逼的还是真的大神,可是我性格就是不愿意服输,于是下决心今天一定要把它写出来!!! ---- 写Arraylist之前要先明白一些要素: 1.ArrayList的底层是Object类的数组,默认长
神秘的寇先森
2018-05-30
5300
一道有趣的Map迭代题
需求:一个map,key为String类型,value为Integer类型,value保存了10个数字,其中有小于10的,有大于10的,设计一种方法返回把map中大于10的数字都删除的map。 package cn.baidu.map.demo; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; impor
神秘的寇先森
2018-05-30
5900
Java8 Optional 的正确使用方式
1.当我们还在以如下几种方式使用 Optional 时, 就得开始检视自己了 调用 isPresent() 方法时 调用 get() 方法时 Optional 类型作为类/实例属性时 Optional 类型作为方法参数时 isPresent() 与 obj != null 无任何区别, 我们的生活依然在步步惊心. 而没有 isPresent() 作铺垫的 get() 调用在 IntelliJ IDEA 中会收到告警。调用 Optional.get() 前不事先用 isPresent() 检查值是否可用. 假
神秘的寇先森
2018-05-30
1K0
提高java程序性能的小方法
1、避免使用错误的方式,尽量不用instanceof做条件判断,不要将数组声明为:public static final 。 2、使用java中效率高的类,比如尽量使用HashMap 和ArrayList ,除非必要,否则不推荐使用HashTable和Vector ,后者由于使用同步机制,而导致了性能的开销。 3、尽量指定类的final修饰符 带有final修饰符的类是不可派生的。在Java核心API中,有许多应用final的例子,例如java.lang.String。为String类指定final防止了人
神秘的寇先森
2018-05-30
7490
Java中关于String类型的10个问题
如何比较两个字符串?用“==”还是equals “==”是用来检测两个引用是不是指向内存中的同一个对象,而equals()方法则检测的是两个对象的值是否相等。只要你想检测俩字符串是不是相等的,你就必须得用equals()方法。 为什么安全敏感的字符串信息用char[]会比String对象更好? String对象是不可变的,这就意味着直到java垃圾回收器回收之前它们都不会发生变化的。用数组的话,就可以很明确的修改它任何位置的字符元素。这样的话,如密码等安全敏感的信息就不会出现在系统的任何地方。 字符串对
神秘的寇先森
2018-05-30
8740
善待你遇到的bug,它只会让你更强大!
在速运快递项目前端页面用户注册的时候,点击注册之后总是报空指针异常,我当时一直想的是我前端页面封装model失败了吗?但是根本没有想到是CustomerService是null. 针对这个问题,我的解
神秘的寇先森
2018-05-30
3670
java面试热点:集合框架(二)
Set接口 Set接口与List接口的重要区别就是它不支持重复的元素,至多可以包含一个null类型元素。Set接口定义的是数学意义上的“集合”概念。 Set接口主要定义了以下方法: boolean add(E e) void clear() boolean contains(Object o) boolean isEmpty() boolean equals(Object obj) Iterator<E> iterator() boolean remove(Object o) boolean remov
神秘的寇先森
2018-05-30
5510
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档