
java
文章平均质量分 58
P.TAN
每篇文章的开头是个人笔记,之后才是原文
展开
-
java中的集合 Collection 和 Map
ArrayList和LinkedList都线程不安全,ArrayList优势:随机访问。LinkedList优势:新增和删除。线程安全:HashTable(子类:Properties),synchronizedHashMap。List下三大将:ArrayList和LinkedList,Vector(线程安全)。Map接口:双列数据,保存具有映射关系“key-value对”的集合。Collection 下面两大分支:List和set。两种体系,他们是同一层次,都是java.lang.Java 集合可分为。转载 2022-09-14 11:13:38 · 332 阅读 · 0 评论 -
Java 封装 private public protected和用法
原文:Java 封装 private public protected和用法_不识不知的博客-优快云博客_java private public部分:Java是使用“访问控制符”来控制哪些细节需要封装,哪些细节需要暴露的。 Java中4种“访问控制符”分别为private、default、protected、public,它们说明了面向对象的封装性,所以我们要利用它们尽可能的让访问权限降到最低,从而提高安全性。 下面详细讲述它们的访问权限问题。其访问权限范围如表5-1所示...转载 2022-01-04 15:01:11 · 225 阅读 · 0 评论 -
正则表达式-几种常见的密码校验
首先说一下密码必须是6~18位之间的数字,正则表达式为"^[0-9]{6,18}$",其中[0-9]表示必须是数字,{6,18}表示必须在6到18位之间,代码如下: 运行结果如下 接下来是密码中只能包含字母和数字的,正则表达式为:"^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,16}$"其中(?![0-9]+$)表示排除掉只有数字的组合,(?![a-zA-Z]+$)表示排除掉只有字母的组合,[0-9A-Za-z]表示必须有字母或数字,代码..转载 2021-12-31 17:18:48 · 19108 阅读 · 0 评论 -
java List 深度复制方法(本文只是备份,查看原文)
https://blog.youkuaiyun.com/lian_1988/article/details/45970927转载 2021-01-07 17:29:48 · 481 阅读 · 0 评论 -
3DES加密解密
key 密钥 长度要24位的字符串. 原文:https://blog.youkuaiyun.com/zmx729618/article/details/52994748import android.util.Base64;import java.io.IOException;import java.security.Key;import java.security.NoSuchAlgorithmException;import java.security.SecureRandom;impor..转载 2020-12-18 10:51:14 · 369 阅读 · 1 评论 -
domain层详解
domain的概念,通常会分很多层,比如经典的三层架构,控制层、业务层、数据访问层(DAO),此外,还有一个层,就是domain层domain层,通常就是用于放置这个系统中,与数据库中的表,一一对应起来的JavaBean的model层:和domain区别;可能都是javaBean,这个区别是用途不同,domain通常就代表了与数据库表--一一对应的javaBean,model通常代表了不与数据库一一对应的javaBean,但是封装的数据是前端的JS脚本,需要使用的数据...转载 2020-11-13 16:18:29 · 8450 阅读 · 0 评论 -
Java(kotlin) Lambda 表达式
原文:https://www.runoob.com/java/java8-lambda-expressions.html(本文只是备份 ,未加备注)Lambda 表达式,也可称为闭包,它是推动 Java 8 发布的最重要新特性。Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中)。使用 Lambda 表达式可以使代码变的更加简洁紧凑。语法lambda 表达式的语法格式如下:(parameters) -> expression 或 (parameters) ..转载 2020-11-05 11:36:40 · 374 阅读 · 0 评论 -
Java并发(多线程)编程:volatile关键字解析
Java并发编程:volatile关键字解析 volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。 volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我们先来了解一下与内存模型相关的概念和知识,然后分析了volati转载 2020-11-05 10:47:27 · 154 阅读 · 0 评论 -
java注解
java注解-最通俗易懂的讲解https://blog.youkuaiyun.com/qq1404510094/article/details/80577555深入理解Java注解类型(@Annotation)https://blog.youkuaiyun.com/lixiaoxiong55/article/details/81435829...转载 2020-03-26 15:19:27 · 273 阅读 · 0 评论 -
Java中的三个点"..."也就是动态参数
在Java1.5之后在方法上传参时便出现了**"…"**,这三个点的学名叫做可变长参数,也就是相当于一个数组,能够传入0个至n个参数 public static void main(String[] args) { String[] t1 = {}; String[] t2 = {"java","C++"}; String t3 = "java...转载 2020-03-16 09:37:09 · 1156 阅读 · 0 评论 -
软件设计模式目录 (B)
1、原文:Java开发中的23种设计模式详解。自己加备注后的文章2、Java静态类 Builder(建造者)模式3、详解Java中的clone方法 -- 原型模式原创 2020-01-13 09:24:35 · 226 阅读 · 0 评论 -
Java中子类继承父类关于构造方法的问题:there is no default constructor available in
容易出错的地方,文章最后一行:若一个父类只要有一个带参数的构造方法,那么在写其子类的构造方法时必须先通过super调用父类的构造方法才能完成子类的构造方法而且super只能写在子类构造方法体内的第一行。(这个思维很自然,没有祖宗,何来后代?)-----------------------------------正文 -----------------------------there...转载 2020-01-12 10:56:16 · 1123 阅读 · 0 评论 -
java异常的分类和异常处理机制-- 类设计时经常要用到RuntimeException
一、异常的分类Java 对异常进行了分类,不同类型的异常分别用不同的 Java 类表示,所有异常的根类为 java.lang.Throwable,Throwable 下面又派生了两个子类:Error 和 Exception。1.Error 表示应用程序本身无法克服和恢复的一种严重问题。2. Exception 表示程序还能够克服和恢复的问题,其中又分为系统异常和普通异常,2.1...原创 2019-12-31 09:28:23 · 381 阅读 · 0 评论 -
Lambda表达式和匿名内部类(I) Java
前言JavaLambda表达式的一个重要用法是简化某些匿名内部类(Anonymous Classes)的写法。实际上Lambda表达式并不仅仅是匿名内部类的语法糖,JVM内部是通过invokedynamic指令来实现Lambda表达式的。具体原理放到下一篇。本篇我们首先感受一下使用Lambda表达式带来的便利之处。取代某些匿名内部类本节将介绍如何使用Lambda表达式简化匿名内...转载 2019-12-18 16:21:46 · 391 阅读 · 1 评论 -
IP和java.net.InetAddress类的使用
新建InetAddress对象一般用这个方法:getByName(String host) ,输入参数可以是ip (192.168.1.1) 或者主机名("www.baidu.com")getAllByName() 返回主机名对应的所有ip初始化后,可以通过InetAddress获取ip或者主机名,初始化时输入ip ,这个类可以自动获取主机名。反之也行原文:htt...转载 2019-10-31 11:41:26 · 3341 阅读 · 0 评论 -
【Android-View】浅谈Android换肤的几种实现方式
Android平台api没有特意为换肤提供一套简便的机制,这可能是外国的软件更注重功能和易用,不流行换肤。系统不提供直接支持,只能自行研究。换肤,可以认为是动态替换资源(文字、颜色、字体大小、图片、布局文件……)。这个使用编程语言来动态设置是可以做到的,例如使用View的 setBackgroundResource、setTextSize、setTextColor等函数。但我们不可能在每个转载 2017-02-16 10:14:11 · 5516 阅读 · 0 评论 -
java反射机制(想使用private的值或者方法,记得想起反射)
文章写得简单易懂,贼6原文:https://www.cnblogs.com/zhaoguhong/p/6937364.htmlPS:这文章的最后利用反射修改私有变量的值https://blog.youkuaiyun.com/HinstenyHisoka/article/details/83548791------------------------------------------------...转载 2019-01-23 11:45:04 · 447 阅读 · 0 评论 -
Java架构师必须要懂的知识
系统架构设计,首先你要先了解这个系统的特性,再加上一系列的基础知识,才可以谈架构设计。 ---------------------------------------------------------------------------------------------本文转自:http://www.orz520.com/a/it/2017/0914/4727857.html?fr...转载 2019-01-23 15:03:45 · 407 阅读 · 0 评论 -
JSON库之性能比较:JSON.simple VS GSON VS Jackson VS JSONP
总结解析速度并非衡量一个JSON库的唯一指标,但它的确非常重要。通过运行这次基准测试,我们发现没有一个库能在所有文件上击败对手。大文件中表现优秀的却在小文件上栽了根头,反之亦然。如果要从解析速度来看选择哪个库的话还得取决于你的使用场景。如果你的应用经常会处理大的JSON文件,那么Jackson应该是你的菜。GSON在大文件上表现得相当吃力。 如果你主要是处理小文件请求,比如某个微服务...转载 2019-03-04 11:26:51 · 208 阅读 · 0 评论 -
Java 中 Gson的使用(B)
转换时要注意的问题1、javaBean(java.class)转json字符串时,字段名可能会变,通过@SerializedName来解决2.1、Gson在默认情况下是不动导出值null的键(javaBean转String)。可以通过GsonBuilder来修改,serializeNulls()2.2、Json的String字符串(简称jsonStr) 转 javaBean,简单类型会...转载 2019-03-04 11:34:57 · 351 阅读 · 0 评论 -
Listener 和 Callback
https://blog.youkuaiyun.com/heiyueya/article/details/58249357感觉不太对,但有参考价值callback 强调返回给创建者listener 是当被观察者状态发生改变时,“通知"观察者listener 是主动告诉外面发生了什么事例如button.setListener(new MyList()) , 代表button是主语,动作的...转载 2019-03-25 14:16:41 · 1460 阅读 · 0 评论 -
Java静态类 Builder(建造者)模式
在Java世界里,经常被提到静态这个概念,static作为静态成员变量和成员函数的修饰符,意味着它为该类的所有实例所共享,也就是说当某个类的实例修改了该静态成员变量,其修改值为该类的其它所有实例所见。最近一个项目里频繁用到static修饰的内部类,再读了一下《Effective Java》才明白为什么会用static来修饰一个内部类也就是本文的中心——静态类。如果一个类要被声明为stat...转载 2019-04-03 11:06:24 · 4591 阅读 · 0 评论 -
Java并发编程:Lock
https://www.cnblogs.com/dolphin0520/p/3923167.html转载 2019-04-29 08:53:30 · 115 阅读 · 0 评论 -
逆置栈中的内容(面试题)
问题:给定一个栈,逆置栈中的内容,要求只能只用栈操作push和pop,不能用数组、栈、队列等做过渡。基本思路:用递归,先将原来栈中的元素递归出栈,直至栈为空,然后在每次递归向上步骤时,将上一步中出栈的元素插入栈底,具体代码如下:import java.util.Stack;public class ReverseStack { /* * 给定一个栈,将其中的...转载 2019-04-24 16:43:01 · 320 阅读 · 0 评论 -
Thread的run()与start()的区别
https://blog.youkuaiyun.com/qiumeng_1314/article/details/79466655转载 2019-08-06 09:32:37 · 152 阅读 · 0 评论 -
postman 发送http请求工具(调试)
方式:post链接:http://XXXXXXXXXXX:5030/UAVControl?CmdType=21数据:{ "iCmdEnum":21, "strUserName":"44010000011329001289", "iType":1}body选项,选中“raw” 和 "json"原创 2019-08-06 10:49:59 · 2234 阅读 · 0 评论 -
java对list进行排序
import java.util.ArrayList;import java.util.Collections;import java.util.List;public class sort { public static void main(String[] args) { List<User> list = new ArrayList<User>();...转载 2019-09-17 11:50:55 · 268 阅读 · 0 评论 -
Java Timer TimerTask示例(定时器,计划任务)
Timer可以理解为我们日常的闹钟,可以设置只响一次,或者每天响一次。在响的时候可以做一次自定义的任务。Timer是一种定时器工具,用来在一个后台线程计划执行指定任务。它可以计划执行一个任务一次或反复多次。https://blog.youkuaiyun.com/u010502101/article/details/79318380https://blog.youkuaiyun.com/xingqibaing...转载 2019-09-20 09:21:36 · 185 阅读 · 0 评论 -
百度坐标,火星坐标(GCJ-02)和WGS84相互转换
百度坐标要先转GCJ-02,之后再转WGS84(1)WGS84:表示GPS获取的坐标;(2)GCJ02:是由中国国家测绘局制订的地理信息系统的坐标系统。由WGS84坐标系经加密后的坐标系;(3)BD09:为百度坐标系,在GCJ02坐标系基础上再次加密。其中BD09II表示百度经纬度坐标,BD09MC表示百度墨卡托米制坐标。public class Transform { ...转载 2019-10-09 09:28:57 · 2659 阅读 · 0 评论 -
Java命名规范
原文:https://www.cnblogs.com/niceboat/p/6180625.html 驼峰法则:将所有字母都小写(包括缩写),然后将单词的第一个字母大写。每个单词的第一个字母都大写,来得到大驼峰式命名。除了第一个单词,每个单词的第一个字母都大写,来得到(小)驼峰式命名。为避免歧义,文中小驼峰法统称为驼峰法,大驼峰/帕斯卡法统称为大驼峰法则。1. Pack...转载 2019-01-28 15:41:00 · 147 阅读 · 0 评论 -
Java IO操作——回退流PushbackInputStream
学习目标: 掌握回退流的工作原理使用PushbackInputStream完成回退操作回退:给了用户第二次读的机会。回退流在JAVA IO中所有的数据都是采用顺序的读取方式,即对于一个输入流来讲都是采用从头到尾的顺序读取的,如果在输入流中某个不需要的内容被读取进来,则只能通过程序将这些不需要的内容处理掉,为了解决这样的处理问题,在JAVA中提供了一种回退输入流(PushbackInpu...转载 2019-01-17 09:24:28 · 552 阅读 · 0 评论 -
Java的类加载过程
简单可以理解为把class文件读入内存,并为之创建一个Class对象 通过加载,连接,初始化三步来实现对这个类进行初始化1、加载指的是把class字节码文件从“各个来源“通过"类加载器"装载入内存中2、连接。验证字节流符合虚拟机规范、给类变量分配内存等等3、初始化。对静态变量进行初始化 简述:原文:https://blog.youkuaiyun.com/sinat_382595...转载 2019-01-22 11:22:46 · 180 阅读 · 0 评论 -
详解Java中的clone方法 -- 原型模式
Java中对象的创建clone顾名思义就是复制, 在Java语言中, clone方法被对象调用,所以会复制对象。所谓的复制对象,首先要分配一个和源对象同样大小的空间,在这个空间中创建一个新的对象。那么在java语言中,有几种方式可以创建对象呢?1 使用new操作符创建一个对象2 使用clone方法复制一个对象那么这两种方式有什么相同和不同呢?转载 2017-12-29 14:49:21 · 216 阅读 · 0 评论 -
史上最全的架构师图谱
这份技术知识图谱秘籍真的很棒,我们极力推荐分享给身边的技术人儿。希望这份技术知识图谱能够帮助到每一位奋斗在技术路上的小伙伴。若想要下载以下全套技术知识图谱,放在电脑里慢慢学习的小伙伴,可打开“web前端”微信公号,消息回复“003”,即可获得!文章内点击图片,放大查看!1.1 架构师图谱1.2 Java架构师图谱转载 2017-12-13 17:11:18 · 1120 阅读 · 0 评论 -
Android总结篇系列:Activity Intent Flags及Task相关属性
同上文一样,本文主要引用自网上现有博文,并加上一些自己的理解,在此感谢原作者。原文地址:http://blog.youkuaiyun.com/liuhe688/article/details/6761337--------------------------------------------------------------------------今天我们来讲一下Activ转载 2017-12-13 09:43:02 · 370 阅读 · 0 评论 -
关于android studio Gradle报错
今天android studio跑项目,build了一下,始终跑不起,把gradle和android studio都更新了一下,还是不行,一直报这个错误[java]view plaincopyUnsupportedMethodException FailedtosetupAndroidmodulesinproject'Project':...转载 2017-12-08 16:30:49 · 544 阅读 · 0 评论 -
Android Studio中如何使用Git和Github来管理项目
As we know,Git是目前世界上最先进的分布式版本控制系统,而Github是最大的开源社区。在Github上的项目就是使用git来管理的,所以学好Git的使用是很有必要的。下面看具体步骤。1、要在as中使用git,首先你的在本地安装Git,具体安装流程大家可以看我blog:版本控制工具Git详解 2、在studio中配置git插件:File->Setting->Vers转载 2017-12-08 15:18:44 · 1513 阅读 · 0 评论 -
AndroidStudio下SVN的关联与解除
AndroidStudio对现在很多Android程序员来说都不陌生了,现在的AS2.1版本也是比较稳定了,建议还在使用eclipse的朋友可以转了,要不然就太low了。 近期使用AS需要关联下svn服务器,这里记录下在AndroidStudio下关联svn的一些问题及解决方案,如有问题或更好的方案,欢迎指出。 首先第一,你的电脑上需要安装上AndroidStudio吧(好吧,这是废话转载 2017-06-21 16:22:12 · 478 阅读 · 0 评论 -
Android数据存储之Android 6.0运行时权限下文件存储的思考
前言: 在我们做App开发的过程中基本上都会用到文件存储,所以文件存储对于我们来说是相当熟悉了,不过自从Android 6.0发布之后,基于运行时权限机制访问外置sdcard是需要动态申请权限,所以以往直接sdcard根目录上直接新建了一个xxx/cache/目录来做文件存储就会不是那么容易控制了,所以有必要重新认识一下Android文件存储的相关知识了。背景:转载 2017-06-20 16:03:17 · 522 阅读 · 0 评论 -
Android进阶之如何实现国际化和各国Values文件夹命名
一、步骤 1、在该工程res中右击New—>Directory—>输入对应国家的values值 2、新建strings.xml放入相应的values位置 3、在对应国家的string.xml中编辑字符串 二、Android多国语言文件夹汇总Arabic, Egypt (ar_rEG) —————————–阿拉伯语,埃及 Arabic, Israel (a转载 2017-01-19 17:11:55 · 14241 阅读 · 0 评论