Java Day 16】的更多相关文章

java中16进制转换10进制 public static void main(String[] args) { String str = "04e1"; String myStr[] = { "a", "b", "c", "d", "e", "f" }; int result = 0; int n = 1; for (int i = str.length() - 1…
Java基础16:Java多线程基础最全总结 Java中的线程 Java之父对线程的定义是: 线程是一个独立执行的调用序列,同一个进程的线程在同一时刻共享一些系统资源(比如文件句柄等)也能访问同一个进程所创建的对象资源(内存资源).java.lang.Thread对象负责统计和控制这种行为. 每个程序都至少拥有一个线程-即作为Java虚拟机(JVM)启动参数运行在主类main方法的线程.在Java虚拟机初始化过程中也可能启动其他的后台线程.这种线程的数目和种类因JVM的实现而异.然而所有用户级线…
Java SE 16 新增特性 作者:Grey 原文地址:Java SE 16 新增特性 源码 源仓库: Github:java_new_features 镜像仓库: GitCode:java_new_features 使用反射执行接口中的默认实现方法 作为对接口中默认方法的增强,随着 Java SE 16 的发布,java.lang.reflect.InvocationHandler可以通过使用反射调用接口的默认方法. 详见:JDK-8159746 参考如下示例 package git.sni…
Java SE 16 record 类型说明与使用 作者:Grey 原文地址: 博客园:Java SE 16 record 类型说明与使用 CSDN:Java SE 16 record 类型说明与使用 说明 record 是 Java SE 16 的新特性 record 的使用场景 假设我们想创建一个不可变的类 Point,它有 x 和 y 的坐标.我们想实例化Point对象,读取它们的字段,并将它们存储在 List 中或在 Map 中作为键值使用. 我们可以这样实现 Point 类 publi…
很多人知道利用.png的字符串结尾可以判断前端传入的图片是否为png格式,但是这只是潜意识的判断!那么如何利用png读写的特殊内容来深意识地判断图片格式呢?最近在做东西的时候遇到了点问题,在加载图片的时候,加载失败,后缀都是jpg格式,但换个图片就可以了,为此,怀疑图片格式有问题,遂拖到UE里面查看 它的16进制,果然,两个图片的文件头根本就不一样,这不是欺负人嘛,害我白白浪费了半天的时间,差点要重新编译内核. 然后到网上找了一些资料,查看不同格式图片的文件头是怎样的.下面是不同图片的文件头标志…
有句名言,叫做10000小时成为某一个领域的专家.姑且不辩论这句话是否正确,让我们到达10000小时的时候再回头来看吧. 突然想到我最近一直在追的小说,作者每天都会更新两章,而且质量挺高.所以从这篇开始,稍微提高下对文字的要求,至少要对得起观众吧. 本文作者Java 现经验约为16 Hour,请各位不吝赐教. 环境配置 检测JDK 检测小猫 检测Eclipse 糟糕,无法新建Web 项目,因为似乎下载的不是Java EE 的.MyEclipse 据说是收费的?还是设法重新下载个Eclipse 吧…
整型转16进制: int devIdInt = Integer.parseInt(devId);String devIdString = Integer.toHexString(devIdInt); 16进制转为字节: byte devBin = (byte) Integer.parseInt(devIdString, 16); byte devBin =Integer.valueOf(devIdString, 16).byteValue(); byte devBin =Byte.parseBy…
间歇性混吃等死,持续性踌躇满志系列-------------第16天 1.桌球游戏小项目 ①窗口加载 import javax.swing.*; public class BallGame extends JFrame { //窗口加载 void launchFrame() { setSize(300, 300); setLocation(100, 100); setVisible(true); } public static void main(String[] args) { System.…
package mobi.dzs.android.util; import java.util.Locale; /** * 16进制值与String/Byte之间的转换 * @author JerryLi * @email lijian@dzs.mobi * @data 2011-10-16 * */ public class CHexConver { private final static char[] mChars = "0123456789ABCDEF".toCharArray…
一   类的设计原则   1 依赖倒置原则-Dependency Inversion Principle (DIP) 2 里氏替换原则-Liskov Substitution Principle (LSP) 3 接口分隔原则-Interface Segregation Principle (ISP) 4 单一职责原则-Single Responsibility Principle (SRP) 5 开闭原则-The Open-Closed Principle (OCP) 二  包的设计原则   6…
Arrays Why arrays are special There are three issues that distinguish arrays from other types of containers: efficiency, type, and the ability to hold primitives. The cost of this speed is that the size of an array object is fixed and cannot be chang…
线程组 可以把线程归属到某一个线程组中,线程组中可以有线程对象,也可以有线程组,组中还可以有线程,这样的组织结构有点类似于树的形式,如图所示: 线程组的作用是:可以批量管理线程或线程组对象,有效地对线程或线程组对象进行组织. 线程关联线程组:1级关联 所谓1级关联就是父对象中有子对象,但并不创建孙对象.这种情况在开发中很常见,比如创建一些线程时,为了有效对这些线程进行阻止管理,通常情况下是创建一个线程组,然后再将部分线程归属到该组中,以此来对零散的线程对象进行有效的管理. 看一下简单的1级关联的…
技术交流群:233513714 /** * 将16进制字符串转换成汉字 * @param str * @return */ public static String deUnicode(String str) { byte[] bytes = new byte[str.length() / 2]; byte tempByte = 0; byte tempHigh = 0; byte tempLow = 0; for (int i = 0, j = 0; i < str.length(); i +…
基本数据类型包装类 Integer.MAX_VALUE  Integer.parseInt(); intValue(); valueOf(); 自动装拆箱 如果是一个字节范围,数据共享 字符串中 数值排序 "20 23 4 5 6 -8 0 88" package com.company; import java.util.Arrays; import java.util.Objects; /** * Created by junius on 2016/10/2. * 1.将字符串变成…
被废弃的持久代 想起之前面试的时候有面试官问起过我一个问题:Java 8为什么要废弃持久代即Metaspace的作用.由于当时使用的Java 7且研究重心不在JVM上,一下没有回答上来,今天突然想起这个问题,就详细总结一下这个问题. 首先我们看一张JVM内存布局的图: 注意到里面有一块METHOD AREA,它是一块线程共享的对象,名为方法区,在HotSpot虚拟机中,这块METHOD AREA我们可以认为等同于持久代(PermGen),在Java 6及之前的版本,持久代存放了以下一些内容: 虚…
1.单例模式: 确保一个类只有一个实例,而且自行实例化并向整个系统提供这个实例. 单例模式有以下几个要素: 私有的构造方法 指向自己实例的私有静态引用 以自己实例为返回值的静态的公有的方法 单例模式根据实例化对象时机的不同分为两种:一种是饿汉式单例,一种是懒汉式单例.饿汉式单例在单例类被加载时候,就实例化一个对象交给自己的引用:而懒汉式在调用取得实例方法的时候才会实例化对象. 饿汉式: public class Singleton_Simple { private static final Si…
方法依赖commons-codec包  maven的引入方式如下 <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>1.12</version> </dependency> 1. 普通字符串转换为16进制字符串 /** * 将普通字符串转换为16进制字符串 * @param…
1. Java之观察者模式(Observer Pattern) (1)概述: 生活中我们在使用新闻app,当我们对某一栏比较感兴趣,我们往往会订阅这栏新闻,比如我对军事栏感兴趣,我就会订阅军事栏的新闻.这样的话,一旦有了军事栏新闻更新,App就会自动弹出通知告知我们. 这就是观察者模式,她定义对象间的一种一对多的依赖关系,当一个对象(被观察者)的状态发生改变时, 所有依赖于它的对象(观察者)都得到通知并被自动更新. (2)观察者模式的UML类图: 角色介绍: 1)Subject:抽象主题,也就是…
什么是Java内存模型 Java虚拟机规范中试图定义一种Java内存模型(Java Memory Model,JMM)来屏蔽掉各种硬件和操作系统的访问差异,以实现让Java程序在各种平台下都能达到一致的内存访问效果.在此之前,主流程序语言(如C/C++等)直接使用物理硬件和操作系统的内存模型,因此,会由于不同平台上内存模型的差异,有可能导致程序在一套平台上并发完全正常,而在另外一套平台上并发访问却经常出错,因此在某些场景下就不许针对不同的平台来编写程序. Java内存模型即要定义得足够严谨,才能…
Annotation是代码里的特殊标记,这些标记可以在编译.类加载.运行时被读取,并执行相应的处理.通过使用Annotation,程序开发人员可以在不改变原有逻辑的情况下,在源文件嵌入一些补充信息.代码分析工具.开发工具和部署工具可以通过这些补充信息进行验证或者进行部署.  Annotation提供了一种为程序元素设置元数据的方法,从某些方面来看,Annotation就像修饰符一样被使用,可用于修饰包.类.构造器.方法.成员变量.参数.局部变量的声明,这些信息被存储在Annotation的"na…
1.异常的体系 /* ------|Throwable:所有异常和错误的超类 ----------|Error(错误):错误一般用于jvm或者硬件引发的问题,所以我们一般不会通过代码去处理错误的 ----------|Exception(异常):是需要通过代码去处理 --------------|运行时异常:如果一个方法内部抛出一个运行时异常,那么在方法上面可以声明也可以不声明,调用者可以处理或者不处理 --------------|编译时异常(非运行时异常,受检查异常):如果一个方法内部抛出了…
笔者前几日在开服过程中需要将字符串转化成为16进制的字符串,在网上找到了一些方法尝试之后,均发现存在一个问题-->字符串转为16进制后再转回来,英文正常,中文出现乱码 经过考虑决定通过以下方式进行解决: 1)在将字符串转为16进制之前先进行一次转化,先将其转化成为Unicode编码(相当于把中文用英文字符代替),在转化成为16进制 2)相反的,在十六进制转换为字符串后的得到的是Unicode编码,此时再将Unicode编码解码即可获取原始字符串 代码如下: *字符串转化为Unicode编码: /…
//生成16位唯一性的订单号 public static void getUUID(){ //随机生成一位整数 int random = (int) (Math.random()*9+1); String valueOf = String.valueOf(random); //生成uuid的hashCode值 int hashCode = UUID.randomUUID().toString().hashCode(); //可能为负数 if(hashCode<0){ hashCode = -ha…
我们知道,数字8用二进制表示为:1000 用16进制表示为:8 那么我给你一个16进制的数字,0x7f,他的二进制是什么呢? 一个16进制的位数,用4位表示.比如,0x 7 f 其中: 7用4位二进制表示为:0111 f 用4位表示为:1111 所以0x7f 就是:0111 1111: 注意: 我一直以为F 表示是16,我错了,F 是15.…
导读:前两天闲着没事儿,看了本书,然后写了点代码,在接口里面写了默认方法实现,因为书上说这个特性是从java8开始的,我还特地给测了一下java7. 没过几天,就有一个技术分享会,刚好也是讲java8特性,然后,顿时就觉得世界观被毁了!怎么回事呢,看下文吧: 还记得,当年我刚面试的时候,面试官问我接口和抽象类什么区别,我张口就来了传说中的标准答案,那时候是解释不清楚接口和抽象类各自的用途的和来源的,就记得我说了很重要的一条就是:抽象类里面可以有方法实现,而接口是不可以的.哈哈哈哈,java8出来…
从这一节开始正式进入并发容器的部分,来看看JDK 6带来了哪些并发容器. 在JDK 1.4以下只有Vector和Hashtable是线程安全的集合(也称并发容器,Collections.synchronized*系列也可以看作是线程安全的实现).从JDK 5开始增加了线程安全的Map接口ConcurrentMap和线程安全的队列BlockingQueue(尽管Queue也是同时期引入的新的集合,但是规范并没有规定一定是线程安全的,事实上一些实现也不是线程安全的,比如PriorityQueue.A…
作者:季沐测试笔记 原文地址:https://www.cnblogs.com/testero/p/15201619.html 博客主页:https://www.cnblogs.com/testero 1 package 1.1 包的概念 包就是文件夹,用来管理类文件的 1.2 包的定义格式 package 包名; (多级包用.分开) 例如:package com.test.demo; 1.3 带包编译&带包运行 带包编译:javac –d . 类名.java 例如:javac -d . com.…
封装(encapsulation)     类使得数据和对数据的操作集成在一起,从而对使用该类的其他人来说,可以不管它的实现方法,而只管用它的功能,从而实现所谓的信息隐藏. 封装 , 使用类图描述类 用于分析和设计 <类> 直观.容易理解 对象初始化 使用构造方法: Penguin pgn1 =new Penguin(); 构造方法 无返回值类型 ,与类名相同 访问修饰符  构造方法名 //可以指定参数 (){ //初始化代码 } 示例 : public Penguin(){ // 系统提供默…
生产者和消费者问题的描述图 通过上图,我们可以发现: 生产者和消费者使用的都是同一个资源(肉包子) 所以,当使用线程的时候,这两类的锁也是同一把锁(为了避免出现线程安全问题) 例子:学生信息的录入和获取 * 资源类:Student * 设置学生数据:SetThread(生产者) * 获取学生数据:GetThread(消费者) * 测试类:StudentDemo * 资源类:Student public class Student { String name; int age; } * 设置学生数…
http://blog.csdn.net/codeeer/article/details/30044831…