随笔分类 - java
摘要:Java基础知识 初始化顺序 Java类初始化顺序Java向前引用容易出错的地方Java中的前向引用与类初始化顺序 权限控制 Java 访问权限控制:你真的了解 protected 关键字吗? 枚举 重新认识java(十) —— Enum(枚举类),另外,匿名内部类的一个实例:guava缓存中的移除
阅读全文
摘要:Java8:Lambda表达式增强版Comparator和排序(这篇文章写的不错,各种花式排序) Comparable与Comparator浅析 (基本功)
阅读全文
摘要:"State of the Lambda" 这篇主要讲 Labmbda 的背景和用法 译文: "深入理解Java 8 Lambda(语言篇——lambda,方法引用,目标类型和默认方法)" "State of the Lambda: Libraries Edition" 这篇主要讲 Stream 操
阅读全文
摘要:妈妈再也不用担心十进制数过大了233(注意只支持非负数) 我的博客即将同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support plan?invite_code=ila0vet4vyqn
阅读全文
摘要:提示 文中涉及知识点: Collection 、 Iterator Guava 中的 Lists.partition 方法 如果你对这两个知识点不了解,强烈建议阅读文中引用的参考文章。 场景一:以ArrayList为例 参考文章 java迭代器失效 和 Collection与Iterator的rem
阅读全文
摘要:前言 读java native源代码时,我们一般会去网站下载openjdk8源码 "http://download.java.net/openjdk/jdk8/promoted/b132/openjdk 8 src b132 03_mar_2014.zip" ,然后进行分析,随后很多文章会让你编译。
阅读全文
摘要:该算法有很多版本,这里给出java中实现比较好的一种方式。其中, 为无符号右移。 二分查找第一个值为obj的元素 / 二分查找第一个值为obj的元素 @param array @param obj @return 若数组为空,返回 1; 若查找到,则返回其索引; 若未查找到,返回负值(可能为 1)
阅读全文
摘要:提示 阅读本文需要同时对c++和java有一定了解。 背景 有时我们比较两个字符串时不考虑它们是大写还是小写;举个例子,在这种情况下我们认为“BanAna”和“baNaNA”是等价的。 其中一种思路是: 1. 将两个字符串都转换为小写(或者都转换为大写); 2.比较转换后的两个字符串是否相同。 这里
阅读全文
摘要:前言 众所周知,Java中有多种针对文件的操作类,以面向字节流和字符流可分为两大类,这里以写入为例: 面向字节流的:FileOutputStream 和 BufferedOutputStream 面向字符流的:FileWriter 和 BufferedWriter 近年来发展出New I/O ,也叫
阅读全文
摘要:代码 执行结果 看到结果不淡定了,因此决定调试一下看看内部包装了哪种排序算法,这一调试不得了,发现stream的调用链有点奇怪: 以上这段代码利用了java8中的stream概念,在实际调试过程中,你会发现并不能从sorted()这里直接进入排序部分,由此引出本文。 分析 如果把上面代码中的 .fo
阅读全文
摘要:原理 选定填充图片的ASCII字符,不同的字符对应于不同的灰度 读取图片并计算各像素灰度值(同时考虑透明背景),用相应的的ASCII字符替换该像素 程序功能 支持3种文件选择方式:选定文件(支持图片预览),添加文件夹,拖入文件 支持5种图片格式:.jpg, .jpeg, .gif, .png,.bm
阅读全文
摘要:前言 有时为了信息保密或是单纯阅读代码,我们需要删除注释。 之前考虑过正则表达式,但是感觉实现起来相当麻烦。而状态机可以把多种情况归为一类状态再行分解,大大简化问题。本文就是基于状态机实现的。 目录 删除C/C++代码注释 删除Java代码注释 程序 参考 删除C/C++代码注释 需要考虑的情况 /
阅读全文
摘要:这是曾经的一个面试题,正好引出状态机编程思想。挺不错的一个例子。 题目描述 给定一个字符串,它由以下字符组成: 左括号“(” 右括号“)” 下划线“_” 大小写字母构成的字符串(单字母也算作字符串) 该字符串组成有以下规则限定: 括号成对出现且不会嵌套,保证语法正确 字符串可以出现在括号内,也可以出
阅读全文
摘要:参考了“菜鸟教程”和stack overflow 准备工作 将mail.jar和activation.jar加入classpath. 说明 发送方为163邮箱,需要设置host等参数。 接收方可以是其他种类邮箱,比如qq邮箱等。 简单邮件发送 注意创建session时需要传入授权参数,否则会抛出异常
阅读全文
摘要:利用书籍进行系统学习,凭借博客/新闻等资料开阔眼界,辅之以代码及项目实战,并勤加以总结,方可进步。 常用网站: 找英文电子书网站:gen.lib.rus.ec 和 www.jiumodiary.com/ Leetcode刷题:https://leetcode.com/ ,练习数据结构和算法必备 Co
阅读全文