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

渔夫

专栏成员
122
文章
174988
阅读量
28
订阅数
Java MorseCoder - Java 语言实现的摩尔斯电码编码解码器
最近在看《编码-隐匿在计算机软件背后的语言》这本书,看到了一张译码表很有意思:
Fisherman渔夫
2020-02-19
8670
java – 为什么InputStream#read()返回一个int而不是一个字节?
首先字节正好是8位,所以使用8位的char类型数据来与字节数据相互一一对应是最好的选择?但是为何方法InputStream#read()需要返回int类型值呢?
Fisherman渔夫
2020-02-19
1.2K0
Java,bit比特,byte字节,char字符,short,int,long,float,double,string,字母,汉字/编码等
参考网址的话,直接上Oracle的官方文档就好: https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html 汉字:1 汉字 = 2 byte = 16 bit
Fisherman渔夫
2020-02-19
1.7K0
Andorid-ListView简单使用以及BaseAdapter入门
一个很简单的ListView,自己写下Item,然后加载点数据这样~ 下面贴下关键代码:
Fisherman渔夫
2020-02-19
1.4K0
第一章 类加载到卸载的全过程分析
 在Java代码中,类型的加、连接与初始化过程都是在程序运行期间完成的。其中类型指我们定义的一个class、interface、enum,此时并未包含对象。这一点提供了更大的灵活性、增加了更多的可能性。每一个类都是由类加载器class loader 加载到内存当中的。
Fisherman渔夫
2020-02-19
1.3K0
安卓入门-第三章-安卓常用控件的使用方式
 TextView可以说是Android中最简单的一个控件了,你在前面其实已经和它打过一些交道了。它主要用于在界面上显示一段文本信息,比如你在第1章看到的“Hello world!”。下面我们就来看一看关于TextView的更多用法。
Fisherman渔夫
2020-02-19
1.8K0
Java多线程-Furetue接口源代码详解
 不管是继承thread类重写run方法还是实现runnable接口实例对象后作为参数输入至Thread类的构造器中,都无法保证获取到之前的执行结果。通过实现Callback接口,并用Future可以来接收多线程的执行结果,而这就是我在上一篇关于Callable和Runnabe接口对比中的博客中所提到的,要彻底理解它们两者之间的差别,必须拿到Future的使用中来。
Fisherman渔夫
2020-02-19
5560
Java并发-当compareAndSwapObject遇到自动装箱问题详解
 这篇文章用于记录我在尝试测试使用CAS机制下的compareAndSwapObject方法所遇到的问题:我的目的是想通过compareAndSwapObject方法调用是否能够满足“若不相同,则不更新”的性质,但是发现其总是返回false,后来意识到是int值自动装箱所导致的问题。接下来就来看代码吧。 compareAndSwapObject方法简介:
Fisherman渔夫
2020-02-18
8830
Java并发-从JDK源码角度看什么时候使用CAS机制
 如果我问你在Java语言环境下何时使用CAS机制,你可能会说:出现线程不安全可能性的时候就是我们应当使用CAS机制的时候。但是这个说话虽然是正确的,但是太笼统以至于说了好像没说一样。如果你学过synchronized关键字,你一定知道同步机制带来的内存上的损耗是很大的,比如频繁的上下文切换就是我们在使用synchronized关键字时急需避免的。但是如果你了解CAS机制的话,你就会知道此机制有可能会导致线程占据CPU资源,如果在线程安全的条件下仍然使用CAS机制,那么就会带来不必要的CPU资源损耗。
Fisherman渔夫
2020-02-18
8680
Java-“this”和“类名.this”以及“类名.class”的区分和详解
对于以上三个语法结构的区分,需要先理解Class类 所有对象的类以及调用了静态方法的类都需要在对象创建之前在JVM虚拟机中加载,加载内容被称为“类对象”,每个类的类对象是唯一且是不可变的。而在对象创建的时候,由于类对象已加载,所以可以添加上类型标签。
Fisherman渔夫
2020-02-18
7.1K0
Java-Optional类源码分析
我们在对象调用对象的方法、域的时候总是要进行判断对象是否为空的操作,即空指针异常(NullPointerException)。 本质上,这是一个包含有可选值的包装类,这意味着 Optional类既可以含有对象也可以为空。 Optional是Java8提出的新特性,就是为解决空指针异常,方便函数式编程的新特性。
Fisherman渔夫
2020-02-18
5840
Java并发-守护线程-Daemon
 我们如上在main线程中定义了一个子线程t,将子线程的run方法写为sleep调用比main方法的sleep调用更久时间,以验证父类线程main的执行完毕并释放对子线程有无影响。 控制台输出:
Fisherman渔夫
2020-02-18
4860
Java-volatile-面试官最喜欢问的关键字之一
 在Java相关的岗位面试中,很多面试官都喜欢考察面试者对Java并发的了解程度,而以 volatile关键字作为一个小的切入点,往往可以一问到底,把Java内存模型(JMM),Java并发编程的一些特性都牵扯出来,深入地话还可以考察 JVM底层实现以及操作系统的相关知识。下面我们以一次假想的面试过程,来深入了解下 volitile关键字吧!
Fisherman渔夫
2020-02-18
6950
Java - 关于 JavaBean 你所需知道的一切
 “A Java Bean is a reusable software component that can be manipulated visually in a builder tool.”,这句话出自于 Oracle 官方文档,翻译过来,含义便是:Java Bean 就是一个可复用程序组件,其在编译工具中可以可视化地操作。
Fisherman渔夫
2020-02-18
8510
Java 编译期常量
 编译期常量,即 compile-time constant。其看似是一个静态,并不一定是由 static 修饰(static 一般只是用于强调只有一份),但强制要求使用 final 进行修饰。编译期常量完整要求是:
Fisherman渔夫
2020-02-18
1.3K0
Java-forEach增强for循环是值传递规则详解
 正如Java语法意义,变量的传递只有值传递,虽然变量分为引用变量和基本类型变量,前者更像C中的地址概念。 在学习Lambda表达式的时候,遇到了试图在增强for循环中对原链表元素重新赋值失败的问题,网络上也没有针对此的其他博文,故开此文。
Fisherman渔夫
2020-02-17
3.1K0
Java 中的 Vector、Stack 与 ArrayList
引子:首先不得不说, Vector 与 Stack 这一对继承设计是蹩脚、失败的。
Fisherman渔夫
2020-02-17
1.1K0
Java-Lambda表达式和“方法引用”的对比和详解
 Lambda表达式是Java 8 添加的一个新特性,可以认为,Lambda是一个匿名函数(相似于匿名内部类),作用是返回一个实现了接口的对象(这个观点非常重要,贯穿于Lambda表达式的整个使用过程)。
Fisherman渔夫
2019-11-05
3.1K1
Java并发-推荐使用不可变对象的原因分析
在Java语法中,String即是不可变对象,一旦创建,假设你若想修改String对象值,只能重新创建String对象。 实现方式如下:1.将内部char类型数组用priovate以及final关键词修饰。2.将String类修饰为final 以下是String的JDK源码:
Fisherman渔夫
2019-07-31
5890
Java-安全发布
 发布是一个动词,是去发布对象。而对象,通俗的理解是:JAVA里面通过 new 关键字 创建一个对象。
Fisherman渔夫
2019-07-31
7310
点击加载更多
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档