- 安卓学习笔记之六:Activity生命周期验证(kotlin版本)
manmanbab
android学习笔记
前言Activity是安卓提供给用户与手机之间可交互的界面组件,也是四大组件中比较重要的组件。那么?Activity从创建到销毁过程是怎么样的呢?我们从以下几个知识点做分析:Activity五个状态Activity的生命周期Activity横竖屏生命周期Activity四种启动方式Activity问题总结Activity五个状态Starting->running->poused->stopped-
- 安卓学习笔记之七:界面布局及简单控件(Kotlin版本)
manmanbab
androidxml
创建一个Kotlin项目,学习尝试一些界面布局和简单控件使用方面的知识。创建一个Kotlin项目创建一个EmptyViewsActivity项目主活动程序文件MainActivity.kt很简单:packagecom.example.uidemoimportandroidx.appcompat.app.AppCompatActivityimportandroid.os.BundleclassMai
- 安卓学习笔记之五:电子书EPUB制作
manmanbab
笔记社交电子学习智能手机
有一些TXT格式的旧书,想放到手机微信读书中阅读。在网上找到的电子书格式不友好,或者错字太多。可以学习使用Sigil进行电子书的制作、编辑和修改。Epub基础知识介绍一、什么是epubepub是一个完全开放和免费的电子书标准。它可以“自动重新编排”的内容。Epub文件后缀名:.epub二、epub组成Epub内部使用XHTML(或者DTBook)来展现文件的内容;用一系列css来定义格式和版面设计
- 安卓学习笔记之二:APKtool工具实现反编译-编译-签名全过程
manmanbab
智能手机学习笔记
APKTool介绍APKTool是一个开源的、跨平台的反编译、回编译Android应用程序的工具。它能够将APK文件解压并还原成Android应用程序的资源文件和Smali代码,还能将修改后的资源文件和Smali代码重新打包成APK文件。APKTool是Android应用程序开发和逆向开发的重要工具之一,它能够帮助开发者对APK文件进行修改、分析和定制,也能够帮助安全研究人员和黑客对应用程序进行逆
- 安卓学习笔记之八:本地化的简单例子(kotlin版本)
manmanbab
android学习笔记
本地化及多语言支持,是目前手机软件必须面对的问题,这里用一个简单的例子来说明在AndroidStudio下如何实现。创建一个EmptyViewsActivity项目,语言选择Kotlin实现一个简单的功能,一条欢迎,一个按钮,按下后显示一条信息。代码如下:valbutton:Button=findViewById(R.id.button)valtextView:TextView=findViewB
- 【安卓学习笔记】Android Handler 消息机制探究
tulensa
androidandroidjavaui
一、概述1.android消息机制的含义:Android消息机制,其实指的就是Handler的运行机制,而Handler要正常运作,又需要底层的MessageQueue,Looper,ThreadLocal共同配合因此所谓的消息机制,其实主要讲的就是Handler,MessageQueue,Looper,ThreadLocal四者的关系2.概述Handler工作流程:首先是构造Handler,这时
- 安卓学习笔记
2301_79022588
android学习笔记
一、eclipse问题记录(1)."Androidrequirescompilercompliancelevel5.0or6.0.Found'1.3'instead.PleaseuseAndroidTools>FixProjectProperties."问题描述:"Android要求编译器兼容级别为5.0或6.0。但找到的是'1.3'解决此问题的步骤:1.在Eclipse中,右键单击项目,选择"P
- 02安卓学习笔记(二)
biyu6
目录[1].测试的相关概念[2].单元测试(掌握)[3].日志猫的使用[4].login登录案例[5].使用上下文获取常见目录[6].登录数据存储到sd卡(掌握)[7].获取sd卡可用空间(掌握)[8].文件权限的介绍[9].SharedPreferences介绍(掌握)[10].xml的序列化(掌握)[11].xml的解析(掌握)1.测试的相关概念好的软件不是开发出来的,是不断测试出来的安卓的压
- Android:安卓学习笔记之GreenDao 的简单理解和使用
JMW1407
AndroidandroidjavasqliteGreenDao
GreenDao的简单理解和使用GreenDao1、前言2、greenDAO概述3、ORM框架概述4、greenDAO使用4.1、准备工作4.1.1、引入greenDAO4.1.2、创建实体类4.1.3、自动生成实体类代码4.1.4、初始化greenDAO4.2、具体使用(增删改查)4.2.1、新增数据4.2.2、查询数据4.2.3、更新数据4.2.4、删除数据4.2.5、GreenDaoMana
- Android:安卓学习笔记之OkHttp原理的简单理解和使用
星月黎明
android学习笔记
AndroidOkHttp使用原理的简单理解和使用OkHttp0、前言1、请求与响应流程1.1请求的封装1.2请求的发送1.3请求的调度1.4请求的处理2、拦截器2.1RetryAndFollowUpInterceptor2.2BridgeInterceptor2.3CacheInterceptor2.3.1、HTTP缓存原理2.3.2、强制缓存2.3.3、协商缓存(对比缓存)2.3.4、OKHt
- Android :安卓学习笔记之 Android View 的基础知识和冲突事件处理
JMW1407
Androidandroidandroidstudioview
AndroidView的简单理解和使用AndroidView1、View的基础知识1.1什么是View1.2View的位置参数1.3MotionEvent和TouchSlop1.3.1.MotionEvent1.3.2.TouchSlop1.4VelocityTracker、GestureDetector和Scroller1.4.1VelocityTracker:速度追踪1.4.2GestureD
- 安卓学习笔记------kotlin基本数据类型
天青色等烟雨hhft
Kotlin的基本数值类型包括Byte、Short、Int、Long、Float、Double等。不同于Java的是,字符不属于数值类型,是一个独立的数据类型。比较两个数字Kotlin中没有基础数据类型,只有封装的数字类型,你每定义的一个变量,其实Kotlin帮你封装了一个对象,这样可以保证不会出现空指针。数字类型也一样,所有在比较两个数字的时候,就有比较数据大小和比较两个对象是否相同的区别了。在
- Android:安卓学习笔记之进程间通信方式(IPC)的简单理解和使用
JMW1407
Androidandroidjava进程间通信方式(IPC)
进程间通信方式的简单理解和使用进程间通信方式1、背景1.1、进程空间划分1.2、进程隔离&跨进程通信(IPC)1.3、基础概念:序列化方式1.3.1、Serializable接口1.3.2、SParcelable接口2、通讯方式种类3、使用Bundle4、使用文件共享5、使用Messenger5.1、Messenger是什么?5.1.1、Messenger源码简单说明5.2、使用步骤5.2.1、服
- 2019-11-19 安卓学习笔记(第一天)
孟陬一彪
提纲:1、1G-4G的介绍1G大哥大2G小灵通采用gsm标准可以发短信wap.baidu.com3G沃7.2M4GLTE100M/s5G华为6亿美金10G/s小公司卖产品大公司卖版权(标准)风险投资最主要的区别:速度的不同2、Android操作系统的介绍安迪鲁宾(创始人)logo设计师去厕所发现的灵感3、Android系统版本介绍2.3---103.0---114.0---144.4---194、
- 面经:安卓学习笔记
studyForMokey
八股文java
文章目录1.Android系统架构2.Activity2.0定义2.1生命周期2.2生命状态2.3启动模式3.Service3.1定义3.2两种启动方式3.3生命周期3.4跨进程service3.5IntentService4.BroadCastReceiver4.1概念4.2组成4.3广播接收器的分类4.4生命周期4.5静态注册和动态注册5.ContentProvider6.Intent6.1作
- 安卓学习笔记------Activity缓存
天青色等烟雨hhft
一、onSaveInstanceState(BundleoutState)保存状态Activity中的onSaveInstanceState()回调方法用于保存临时数据和状态,这个方法会在活动被回收之前调用。@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setC
- 安卓学习笔记(一)
Arenaschi
灌篮高手android学习笔记
从今天开始我们开始学习安卓的知识:1.0Android基础入门教程1.Android背景与当前的状况Android系统是由AndyRubin创建的,后来被Google收购了;最早的版本是:Android1.1版本而现在最新的版本是今年5.28,GoogleI/O大会上推出的AndroidM,有趣的是Android系统的命名都是以点心来命名的,下述表是15个Android版本名称,对应API号以及发
- 【安卓学习笔记】布局优化——include、merge、ViewStub标签的应用
八月之雨
效果图效果图要点:某个布局被其他布局多次引用时(如常见的标题栏),可使用Include直接引入。当某个布局中插入其他布局时,会引入多余的嵌套层,降低视图加载效率。此时可用merge标签,减少嵌套布局。使用ViewStub标签来加载一些不常出现的布局。如进度条、对话框等。ViewStub包含的布局在初始化时不会被加载。而在标签中加visibility=gone这种方法在初始化时也会加载。源码1、co
- 安卓学习笔记(二)-Dagger2
风眷
Dagger2是一个依赖注入框架,依赖注入是面向对象编程的一种设计模式,其目的是为了降低程序耦合,这个耦合就是类之间的依赖引起的.当场景复杂时,通过构造方法调用一个类,当需求改动的时候会发现类与类之间的耦合性太高了,尤其是类在多处调用.Dagger2的使用1.导入compile"com.google.dagger:dagger:2.15"annotationProcessor"com.google
- 安卓学习笔记 - 使用SQLite数据库 22
HTML778
sqliteandroid数据库
这里写目录标题使用SQLiteDatabase类操作数据库1、创建安卓应用2、准备图片素材3、字符串资源文件4、主布局资源文件5、主界面类实现功能6、启动应用,查看效果使用SQLiteDatabase类操作数据库1、创建安卓应用基于EmptyActivity模板创建安卓应用-CreateDeleteDB单击【Finish】按钮2、准备图片素材将背景图片拷贝到drawable目录3、字符串资源文件字
- 安卓学习笔记 - 菜单 20
HTML778
android学习java
目录选项菜单1、创建安卓应用2、准备图片素材3、字符串资源文件4、主布局资源文件5、主界面类实现功能6、启动应用,查看效果选项菜单1、创建安卓应用基于EmptyActivity模板创建安卓应用-OptionsMenuDemo单击【Finish】按钮2、准备图片素材将背景图片拷贝到drawable目录3、字符串资源文件字符串资源文件-strings.xml选项菜单演示弹出选项菜单4、主布局资源文件主
- 安卓学习笔记 - 共享参数 21
HTML778
android学习javascript
目录多窗口共享数据1、创建安卓应用2、准备图片素材3、主界面类更名4、创建第二界面类5、字符串资源文件6、第一界面布局资源文件7、第二界面布局资源文件8、第一界面类实现功能9、第二界面类实现功能10、启动应用,查看效果多窗口共享数据1、创建安卓应用基于EmptyActivity模板创建安卓应用-ShareData单击【Finish】按钮2、准备图片素材将背景图片拷贝到drawable目录3、主界面
- 安卓学习笔记
许你一世凡尘
一、Constraintlayout:郭霖ConstraintLayout介绍视频教学1视频教学2二、Jetpack介绍1.ViewModelviewmodel原理解析视频教学1视频教学2视频教学3教学视频42.LifeCyclelifecycle原理解析教学视频13.LiveDataLivedata原理教学视频
- 安卓学习笔记-----监听EditText的内容变化
天青色等烟雨hhft
TextWatcher,实现该类需实现三个方法:1.内容变化前publicvoidbeforeTextChanged(CharSequences,intstart,intcount,intafter);2.内容变化中publicvoidonTextChanged(CharSequences,intstart,intbefore,intcount);3.内容变化后publicvoidafterTex
- 安卓学习笔记 1.1 安卓Android Studio应用
十二.632
android学习课程笔记androidandroidstudiogradle
AndroidStudio下载安装、创建第一个APP上课笔记步骤:一、下载AndroidStudio二、安装AndroidStudio三、配置AndroidStudio四、创建第一个app应用一、下载AndroidStudio根据链接DownloadAndroidStudio&AppTools-AndroidDevelopers(google.cn)找到AndroidStudio官网点击{Down
- 安卓学习笔记(一)AndroidStudio入门
MachinePlay
1安卓编程入门1.1Android定义androidAndroid是一款基于Linux的移动操作系统,最早由Android公司开发,Google在2005年收购了Android并开始作为主力移动操作系统开发。Android源码遵循Apache协议,这使得开发者可以自由免费修改和使用Android。Android的开源政策使其成为了抗衡AppleIOS的的移动操作系统,Android为移动开发提供了
- 安卓学习笔记,ADB奇葩无法连接问题
liuweilyy
多个页面返回-多个页面回退如A,B,C,D,从D直接跳转到A。-在D中设置intent.setFlags(intent.FLAG_ACTIVITY_CLEAR_TOP);-如果A的intent为默认的话得加上-intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);-不加上面那句话,A会直接finish,然后重新创建。加上之后会走A页面的onNewInte
- Android学习笔记--ListView、自定义适配器、模糊查找
Fat Pears.
javaandroid
安卓学习笔记--ListView、自定义适配器、模糊查找、RecyclerViewListView的基本使用最简单的ListView为ListView设置点击事件自定义适配器模糊查找ListView的基本使用最简单的ListView这是一个最简单的ListView,创建很简便,但是缺点也很明显,仅仅只能适配一个字符串。现在就来看看如何创建这个最简单的适配器1.在布局文件中添加ListView2.在
- 安卓学习笔记
Stephen_Huang
1.权限修饰符2.final的语法3.抽象类模板方法4.接口(interface)5.多态6.内部类7.多线程线程锁①同步代码块:对于实例方法建议用this作为锁对象,对于静态方法建议用类名.class作为锁对象②同步方法:synchronized关键字修饰Lock锁8.线程间通讯9.线程池10.
- Android :安卓学习笔记之 Handler机制 的简单理解和使用
JMW1407
AndroidandroidjavaHandler机制
AndroidHandler机制的简单理解和使用Handler机制1、Handler使用的引出2、背景和定义3、作用和意义4、主要参数5、工作原理及流程5.1、对应关系6、深入分析Handler机制源码6.1、Handler机制的核心类6.2、核心方法6.3、方式1:使用Handler.sendMessage()6.3.1、创建Handler类对象6.3.1.1、隐式操作1:创建循环器对象&消息队
- java类加载顺序
3213213333332132
java
package com.demo;
/**
* @Description 类加载顺序
* @author FuJianyong
* 2015-2-6上午11:21:37
*/
public class ClassLoaderSequence {
String s1 = "成员属性";
static String s2 = "
- Hibernate与mybitas的比较
BlueSkator
sqlHibernate框架ibatisorm
第一章 Hibernate与MyBatis
Hibernate 是当前最流行的O/R mapping框架,它出身于sf.net,现在已经成为Jboss的一部分。 Mybatis 是另外一种优秀的O/R mapping框架。目前属于apache的一个子项目。
MyBatis 参考资料官网:http:
- php多维数组排序以及实际工作中的应用
dcj3sjt126com
PHPusortuasort
自定义排序函数返回false或负数意味着第一个参数应该排在第二个参数的前面, 正数或true反之, 0相等usort不保存键名uasort 键名会保存下来uksort 排序是对键名进行的
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8&q
- DOM改变字体大小
周华华
前端
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml&q
- c3p0的配置
g21121
c3p0
c3p0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。c3p0的下载地址是:http://sourceforge.net/projects/c3p0/这里可以下载到c3p0最新版本。
以在spring中配置dataSource为例:
<!-- spring加载资源文件 -->
<bean name="prope
- Java获取工程路径的几种方法
510888780
java
第一种:
File f = new File(this.getClass().getResource("/").getPath());
System.out.println(f);
结果:
C:\Documents%20and%20Settings\Administrator\workspace\projectName\bin
获取当前类的所在工程路径;
如果不加“
- 在类Unix系统下实现SSH免密码登录服务器
Harry642
免密ssh
1.客户机
(1)执行ssh-keygen -t rsa -C "
[email protected]"生成公钥,xxx为自定义大email地址
(2)执行scp ~/.ssh/id_rsa.pub root@xxxxxxxxx:/tmp将公钥拷贝到服务器上,xxx为服务器地址
(3)执行cat
- Java新手入门的30个基本概念一
aijuans
javajava 入门新手
在我们学习Java的过程中,掌握其中的基本概念对我们的学习无论是J2SE,J2EE,J2ME都是很重要的,J2SE是Java的基础,所以有必要对其中的基本概念做以归纳,以便大家在以后的学习过程中更好的理解java的精髓,在此我总结了30条基本的概念。 Java概述: 目前Java主要应用于中间件的开发(middleware)---处理客户机于服务器之间的通信技术,早期的实践证明,Java不适合
- Memcached for windows 简单介绍
antlove
javaWebwindowscachememcached
1. 安装memcached server
a. 下载memcached-1.2.6-win32-bin.zip
b. 解压缩,dos 窗口切换到 memcached.exe所在目录,运行memcached.exe -d install
c.启动memcached Server,直接在dos窗口键入 net start "memcached Server&quo
- 数据库对象的视图和索引
百合不是茶
索引oeacle数据库视图
视图
视图是从一个表或视图导出的表,也可以是从多个表或视图导出的表。视图是一个虚表,数据库不对视图所对应的数据进行实际存储,只存储视图的定义,对视图的数据进行操作时,只能将字段定义为视图,不能将具体的数据定义为视图
为什么oracle需要视图;
&
- Mockito(一) --入门篇
bijian1013
持续集成mockito单元测试
Mockito是一个针对Java的mocking框架,它与EasyMock和jMock很相似,但是通过在执行后校验什么已经被调用,它消除了对期望 行为(expectations)的需要。其它的mocking库需要你在执行前记录期望行为(expectations),而这导致了丑陋的初始化代码。
&nb
- 精通Oracle10编程SQL(5)SQL函数
bijian1013
oracle数据库plsql
/*
* SQL函数
*/
--数字函数
--ABS(n):返回数字n的绝对值
declare
v_abs number(6,2);
begin
v_abs:=abs(&no);
dbms_output.put_line('绝对值:'||v_abs);
end;
--ACOS(n):返回数字n的反余弦值,输入值的范围是-1~1,输出值的单位为弧度
- 【Log4j一】Log4j总体介绍
bit1129
log4j
Log4j组件:Logger、Appender、Layout
Log4j核心包含三个组件:logger、appender和layout。这三个组件协作提供日志功能:
日志的输出目标
日志的输出格式
日志的输出级别(是否抑制日志的输出)
logger继承特性
A logger is said to be an ancestor of anothe
- Java IO笔记
白糖_
java
public static void main(String[] args) throws IOException {
//输入流
InputStream in = Test.class.getResourceAsStream("/test");
InputStreamReader isr = new InputStreamReader(in);
Bu
- Docker 监控
ronin47
docker监控
目前项目内部署了docker,于是涉及到关于监控的事情,参考一些经典实例以及一些自己的想法,总结一下思路。 1、关于监控的内容 监控宿主机本身
监控宿主机本身还是比较简单的,同其他服务器监控类似,对cpu、network、io、disk等做通用的检查,这里不再细说。
额外的,因为是docker的
- java-顺时针打印图形
bylijinnan
java
一个画图程序 要求打印出:
1.int i=5;
2.1 2 3 4 5
3.16 17 18 19 6
4.15 24 25 20 7
5.14 23 22 21 8
6.13 12 11 10 9
7.
8.int i=6
9.1 2 3 4 5 6
10.20 21 22 23 24 7
11.19
- 关于iReport汉化版强制使用英文的配置方法
Kai_Ge
iReport汉化英文版
对于那些具有强迫症的工程师来说,软件汉化固然好用,但是汉化不完整却极为头疼,本方法针对iReport汉化不完整的情况,强制使用英文版,方法如下:
在 iReport 安装路径下的 etc/ireport.conf 里增加红色部分启动参数,即可变为英文版。
# ${HOME} will be replaced by user home directory accordin
- [并行计算]论宇宙的可计算性
comsci
并行计算
现在我们知道,一个涡旋系统具有并行计算能力.按照自然运动理论,这个系统也同时具有存储能力,同时具备计算和存储能力的系统,在某种条件下一般都会产生意识......
那么,这种概念让我们推论出一个结论
&nb
- 用OpenGL实现无限循环的coverflow
dai_lm
androidcoverflow
网上找了很久,都是用Gallery实现的,效果不是很满意,结果发现这个用OpenGL实现的,稍微修改了一下源码,实现了无限循环功能
源码地址:
https://github.com/jackfengji/glcoverflow
public class CoverFlowOpenGL extends GLSurfaceView implements
GLSurfaceV
- JAVA数据计算的几个解决方案1
datamachine
javaHibernate计算
老大丢过来的软件跑了10天,摸到点门道,正好跟以前攒的私房有关联,整理存档。
-----------------------------华丽的分割线-------------------------------------
数据计算层是指介于数据存储和应用程序之间,负责计算数据存储层的数据,并将计算结果返回应用程序的层次。J
&nbs
- 简单的用户授权系统,利用给user表添加一个字段标识管理员的方式
dcj3sjt126com
yii
怎么创建一个简单的(非 RBAC)用户授权系统
通过查看论坛,我发现这是一个常见的问题,所以我决定写这篇文章。
本文只包括授权系统.假设你已经知道怎么创建身份验证系统(登录)。 数据库
首先在 user 表创建一个新的字段(integer 类型),字段名 'accessLevel',它定义了用户的访问权限 扩展 CWebUser 类
在配置文件(一般为 protecte
- 未选之路
dcj3sjt126com
诗
作者:罗伯特*费罗斯特
黄色的树林里分出两条路,
可惜我不能同时去涉足,
我在那路口久久伫立,
我向着一条路极目望去,
直到它消失在丛林深处.
但我却选了另外一条路,
它荒草萋萋,十分幽寂;
显得更诱人,更美丽,
虽然在这两条小路上,
都很少留下旅人的足迹.
那天清晨落叶满地,
两条路都未见脚印痕迹.
呵,留下一条路等改日再
- Java处理15位身份证变18位
蕃薯耀
18位身份证变15位15位身份证变18位身份证转换
15位身份证变18位,18位身份证变15位
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 201
- SpringMVC4零配置--应用上下文配置【AppConfig】
hanqunfeng
springmvc4
从spring3.0开始,Spring将JavaConfig整合到核心模块,普通的POJO只需要标注@Configuration注解,就可以成为spring配置类,并通过在方法上标注@Bean注解的方式注入bean。
Xml配置和Java类配置对比如下:
applicationContext-AppConfig.xml
<!-- 激活自动代理功能 参看:
- Android中webview跟JAVASCRIPT中的交互
jackyrong
JavaScripthtmlandroid脚本
在android的应用程序中,可以直接调用webview中的javascript代码,而webview中的javascript代码,也可以去调用ANDROID应用程序(也就是JAVA部分的代码).下面举例说明之:
1 JAVASCRIPT脚本调用android程序
要在webview中,调用addJavascriptInterface(OBJ,int
- 8个最佳Web开发资源推荐
lampcy
编程Web程序员
Web开发对程序员来说是一项较为复杂的工作,程序员需要快速地满足用户需求。如今很多的在线资源可以给程序员提供帮助,比如指导手册、在线课程和一些参考资料,而且这些资源基本都是免费和适合初学者的。无论你是需要选择一门新的编程语言,或是了解最新的标准,还是需要从其他地方找到一些灵感,我们这里为你整理了一些很好的Web开发资源,帮助你更成功地进行Web开发。
这里列出10个最佳Web开发资源,它们都是受
- 架构师之面试------jdk的hashMap实现
nannan408
HashMap
1.前言。
如题。
2.详述。
(1)hashMap算法就是数组链表。数组存放的元素是键值对。jdk通过移位算法(其实也就是简单的加乘算法),如下代码来生成数组下标(生成后indexFor一下就成下标了)。
static int hash(int h)
{
h ^= (h >>> 20) ^ (h >>>
- html禁止清除input文本输入缓存
Rainbow702
html缓存input输入框change
多数浏览器默认会缓存input的值,只有使用ctl+F5强制刷新的才可以清除缓存记录。
如果不想让浏览器缓存input的值,有2种方法:
方法一: 在不想使用缓存的input中添加 autocomplete="off";
<input type="text" autocomplete="off" n
- POJO和JavaBean的区别和联系
tjmljw
POJOjava beans
POJO 和JavaBean是我们常见的两个关键字,一般容易混淆,POJO全称是Plain Ordinary Java Object / Pure Old Java Object,中文可以翻译成:普通Java类,具有一部分getter/setter方法的那种类就可以称作POJO,但是JavaBean则比 POJO复杂很多, Java Bean 是可复用的组件,对 Java Bean 并没有严格的规
- java中单例的五种写法
liuxiaoling
java单例
/**
* 单例模式的五种写法:
* 1、懒汉
* 2、恶汉
* 3、静态内部类
* 4、枚举
* 5、双重校验锁
*/
/**
* 五、 双重校验锁,在当前的内存模型中无效
*/
class LockSingleton
{
private volatile static LockSingleton singleton;
pri