java
文章平均质量分 68
坚持就有希望
他强任他强,我是路人王!
展开
-
JAVA FLOAT或DOUBLE保留两位小数
方案一、四舍五入double f = 111231.5585; BigDecimal b = new BigDecimal(f); double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); //保留两位小数 方案二、DECIMALFORMAT1、用DecimalFormat 返回的是String格式的、该类对十进制进行全面的封装、像%号、千分位、小数精度、科学计算等float price=1.2;/.原创 2020-06-17 08:04:37 · 2106 阅读 · 0 评论 -
反射获取对象中的静态变量
参考 :https://bbs.csdn.net/topics/392514943原创 2020-03-20 19:09:39 · 1434 阅读 · 0 评论 -
java---括号匹配
import java.util.HashMap;import java.util.LinkedList;import java.util.Map;/* *括号匹配 * 1.用栈实现,如果读取字符为左括号,入栈 * 2.如果读取字符为右括号 * 栈为空,返回false * 栈不为空,和栈顶比较,是否匹配,匹配出栈一次,不匹配返回false * 3.最后栈不为空,...原创 2020-03-19 17:16:50 · 186 阅读 · 0 评论 -
Gson 解析Json数据时候报错: Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 2 path $
报错原因,接收的bean应该为List对象,自己的bean写成了Object类型原创 2020-03-19 12:12:13 · 991 阅读 · 0 评论 -
java多线程实现方式
四种实现多线程方式:继承Thread类 实现Runnable接口 实现Callable接口,用FutureTask包装器来实现,call方法有返回值import java.util.concurrent.Callable;public class SomeCallable<V> implements Callable<V> { @Override p...原创 2018-07-28 14:20:48 · 87 阅读 · 0 评论 -
java回调函数
每次想到回调函数总是会很难用语言来形容,还是记下来比较牢靠,所谓回调函数就是触发某个事件程序A需要通过程序B来回调自己写的一个方法c,程序B预留接口并且封装好(事件触发时调用接口函数),程序A实现B中的接口并且调用自己的方法c即可。...原创 2018-09-04 19:32:00 · 92 阅读 · 0 评论 -
jni中使用extern "C"的原因
首先__cplusplus这个宏是微软自定义宏,大小是个整数:__cplusplusThis macro is defined when the C++ compiler is in use. You can use __cplusplus to test whether a header is compiled by a C compiler or a C++compiler. Thi...原创 2018-09-19 16:05:10 · 4718 阅读 · 0 评论 -
ubuntu14.04安装openjdk8
1. Ctrl+Alt+T 打开终端执行以下命令:sudo add-apt-repository ppa:openjdk-r/ppa输入你的sudo密码继续2. 升级系统资源包并安装openjdk1.8:sudo apt-get update sudo apt-get install openjdk-8-jdk3. 在多个JDK版本中切换JDKsudo updat...原创 2019-01-06 08:08:24 · 700 阅读 · 0 评论 -
JSONArray字符串
"[{\"name\":\"我在,有什么可以帮你\",\"type\":\"wav\",\"path\":\"/sdcard/notice.wav\"},{\"name\":\"好的,再见\",\"type\":\"wav\",\"path\":\"/sdcard/p原创 2019-01-17 21:17:31 · 1323 阅读 · 0 评论 -
通过反射动态调用类的静态方法和实例方法
package jxy.common.reflect;import java.lang.reflect.Constructor;import java.lang.reflect.Method;public class CallMethod {public static void main(String[] args) throws Exception {// 获取TestC...转载 2019-07-23 21:32:37 · 1957 阅读 · 0 评论 -
Ubuntu14.04下安装配置openJDK1.7
在Ubuntu14.04下安装配置openJDK1.7,其实很简单。1、Ctrl+Alt+T快捷键打开terminal(终端)2、在终端中输入 下载jdk:sudo apt-get install openjdk-7-jdk 下载完成后,再执行下载jre:sudo apt-get install openjdk-7-jre...转载 2019-07-22 11:11:32 · 558 阅读 · 0 评论 -
Android设计模式之建造者模式(builder pattern)
builder设计模式我们很常见,比如我们使用AlertDialog的时候就使用的builder设计模式,著名的Universal-Image-Loader的初始化配置也是使用的builder设计模式,那么他们为什么使用builder设计模式,什么情况下我们应该考虑使用builder设计模式,这是我们很多人的疑惑,即便是学会了也不知道什么时候应该使用,这篇文章我将告诉大家在什么情况下应该考虑使用b...转载 2019-08-16 12:31:15 · 118 阅读 · 0 评论 -
java单例总结
安全的懒汉式单例做法如下,valatile作用是当某个线程修改变量之后,直接将变量值回写到内存中,其他线程可以马上看到这个值。没有使用volatile情况下,每个线程都会在工作内存(类似于寄存器和高速缓存),实例对象都存放在主内存中,在每个线程要使用的时候把主内存中的内容拷贝到线程的工作内存中。使用volatile关键字修饰后的变量,保证每次修改了变量需要立即写回主内存中,同时通知所有的该对变量的...原创 2018-07-28 12:58:51 · 119 阅读 · 0 评论 -
Exception与Error区别
Exception包括RuntimeException和一般Exception。RuntimeException指程序在运行时才产生的异常,因此也叫作非检查型异常;一般Exception是程序在编译期间产生的异常,程序员必须通过try-catch进行捕获异常,因此也叫检查型异常。example:IOException。。。Error指jvm导致的内部错误,类似系统崩溃等。三者之间区...原创 2018-07-31 09:28:05 · 204 阅读 · 0 评论 -
java List对对象的属性排序
1、对排序对象实现Comparable接口,然后调用Collections.sort(list)2、实现Comparator接口类cp,调用Collections.sort(list,cp)java实现import java.util.List; import java.util.ArrayList; import java.util.Locale; im转载 2014-02-21 14:02:44 · 565 阅读 · 0 评论 -
java之基础知识
本文针对java中的一些基本知识点进行归纳终结,希望能给大家带去一些帮助吧。1、方法的签名方法签名组成内容包括:方法名+参数类型+参数顺序+返回值注意的地方是重载方法的签名只是由方法名,参数类型和参数顺序决定,跟返回值没有关系。2、对象的生成过程以创建对象A为例,第一,首次创建对象A或者A的静态方法或静态域被访问的时候,A的class对象会被加载。第二,原创 2017-03-13 19:57:13 · 218 阅读 · 0 评论 -
sql编程基础总结
最近面试,碰到有外企需要会sql编程基础的知识,于是又回顾了一下基础的sql编程。总结如下:SQL是访问和处理数据库的标志的计算机语言,SQL是结构化查询语言(Structured Query Language),常用数据库包括,Access,MySql,Oracle,Sql Server,Sybase,DB2等。一个数据库一般含有一个或多个表,每个表由一个名字标识,表包含带有数据的记录航...原创 2017-03-20 17:55:40 · 10361 阅读 · 2 评论 -
int类型范围分析
最近开发过程中碰到int类型取值范围,一般都知道java中的int类型用32位来表示,范围就是-2^31到2^31-1,那么你知道为什么最小值是-2^31呢?稍微回忆了一下,大学刚开始接触计算机的时候,课本上前几章都是讲的二进制之类的知识,还有原码,反码,补码方面都是为了解决二进制存储的问题。以byte类型为例,展开分析如下:因为是8位所有情况就是 00000000~01111111原创 2017-04-13 16:13:22 · 1524 阅读 · 0 评论 -
java开发规范
阿里巴巴Java开发规范手册 Java开发手册 版本号制定团队更新日期备 注 1.0.0阿里巴巴集团技术部2016.12.转载 2017-04-21 15:57:00 · 1056 阅读 · 0 评论 -
多线程同步方法
偶然间在今日头条里面看到一个java的面试题,描述如下:一个银行里面有N个账户,一开始每个账户都有一定的资金,账户与账户之间可以转移资金,分别给出不同步和同步下的资金转移程序一、不同步情况下:不同步下产生的结果是账户总的资金会产生变化,比如:线程1将a账户转移100到b账户中,转移结束后,线程1被等待,这时线程2将a账户转移100到b账户,在转移过程中线程1被唤醒并执行了计算总资金的操原创 2017-05-04 14:29:04 · 218 阅读 · 0 评论 -
简单socket通信
描述:启动服务器端,客户端连接服务器端成功之后,服务器端发送“你好,我是服务器,欢迎你的到来!”,客户端发送“你好,我是客户端!”package com.java.socket;import java.io.IOException;import java.net.ServerSocket;import java.net.Socket;public class Server {原创 2017-05-05 15:39:58 · 312 阅读 · 0 评论 -
生产者消费者模式
描述:模式生产者负责生产资源例如粮食,消费者负责消费资源,当仓库资源为空时,消费者进入等待状态,生产者继续生产资源;当仓库资源大于某个容量时,生产者停止生产,进入等待状态,消费者继续消费资源。测试程序如下:package com.java.createconsume;public class LibResource { private int number; public s原创 2017-05-06 10:48:43 · 207 阅读 · 0 评论 -
JVM虚拟机简单总结
JVM内存结构包括:程序计数器,虚拟机栈,方法区(元空间),本地方法栈,堆五部分。堆:所有对象都会在堆中分配空间,其中常量池,字符串常量池及运行时常量池都只是存储对象的引用。方法区:存储已加载到jvm的类的元数据信息(metadata)。本地方法栈:虚拟机加载本地方法使用的空间虚拟机栈:执行方法都会创建一个栈帧用于存储局部变量表、操作栈、动态链接、方法出口等信息,当前线程正在...原创 2018-07-17 09:26:43 · 196 阅读 · 0 评论 -
java多线程同步方式总结
synchronized修饰代码块或者修饰函数 使用volatile变量 使用重入锁 ReenreantLock类的常用方法有: ReentrantLock() : 创建一个ReentrantLock实例 lock() : 获得锁 unlock() : 释放锁 //只给出要修改的代码,其余代码与上同 class Ba...原创 2018-07-29 17:30:01 · 149 阅读 · 0 评论 -
互斥量、信号量、临界区及事件区别
举个通俗易懂的例子,需要被同步访问的资源就好比是公共厕所:1. CRITICAL_SECTION(临界区): 公厕管理人员每次允许一个人进入,直到他出去了,下一个人才可以进入。2. Event(事件): 他告诉你公厕里面当前的状态。但是,你可以闯进去。他不会管你。要干什么取决于你。3. Semaphore(信号量): 他允许公厕里面有N个人同时用,再多的人就必须排队。4. mutex(互斥...原创 2018-07-30 11:46:45 · 993 阅读 · 0 评论 -
java开发规范-阿里巴巴
一、命名规范【强制】代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束 【强制】代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。 说明:正确的英文拼写和语法可以让阅读者易于理解,避免歧义。注意,即使纯拼音命名方式 也要避免采用。alibaba / taobao / youku / hangzhou 等国际通用的名称,可视同英文 【强制】类名使用 U...原创 2018-08-03 18:50:03 · 795 阅读 · 0 评论 -
final、finally与finalize区别
final是java关键字,用来修饰类,方法或变量;当修饰类的时候,该被不可以被继承;当修饰方法的时候,该方法不可被重写;当修饰变量的时候,该变量就是常量,且不可以被重新赋值。finally是try-catch语句块的一部分,表示最后执行的一种机制,通常在finally里进行一些资源的关闭,回收。finalize是Object对象内部一个方法,表示对象即将被垃圾回收器回收的时候,对象会执行...原创 2018-07-31 09:17:02 · 117 阅读 · 0 评论 -
正则表达式总结
说起正则表达式,很早就想要去研究一下,项目开发中一直用到,一直是百度一下解决问题,其实,今天细看了一下,没有想象中的复杂,特别的简单,动手实践一下,很快能够实现想要的表达式。下面就总结一下常用的内容:一般会用到Pattern和Macher这两个类,Pattern表示匹配的模式,Macher表示匹配器常用的符号:^ 用在[]外面表示第一位字符,在里面表示取反,比如[^0-9]表示非数原创 2017-04-17 21:55:18 · 216 阅读 · 0 评论