- llama.cpp 编译安装@Ubuntu
skywalk8163
项目实践人工智能llamaubuntulinux人工智能
在Kylin和Ubuntu编译llama.cpp,具体参考:llama模型c语言推理@FreeBSD-CSDN博客现在代码并编译:gitclonehttps://github.com/ggerganov/llama.cppcdllama.cppmkdirbuildcdbuildcmake..cmake--build.--configRelease#可选安装makeinstall#或可选添加路径ex
- 在Cmakelist指令中,aux_source_directory 和 set 的区别
路人甲ing..
C&C++c++c语言开发语言编辑器
在CMake中,aux_source_directory和set是两个用于定义变量,但用途和行为有所不同的命令。aux_source_directoryaux_source_directory命令用于自动查找指定目录下的所有源文件,并将文件列表存储在指定变量中。这个命令通常用于项目中自动收集源文件,避免了手动列出所有源文件的需要,特别是当源文件数量较多或经常更改时。语法:aux_source_di
- cmake 报错: could not open ‘kernel32.lib‘: no such file or directory
meluobote
环境配置c++
首次用helloworld想配置cmake。powershell下执行cmake..-G"MinGWMakefiles"报的这个错。因为查到这个库是windows下的,于是想着换成Unix试下。执行:cmake..-G"UnixMakefiles"成功cmake版本:cmakeversion3.29.0-rc2CMakesuitemaintainedandsupportedbyKitware(ki
- 高质量 Git 仓库汇总(持续更新,方便查看)
Nice_cool.
学习
Leetcodehttps://github.com/kamyu104/LeetCode-SolutionsCmakehttps://github.com/viva64/pvs-studio-cmake-examples3D目标检测Awesome-3D-Object-DetectionAwesome-3D-Object-Detection-for-Autonomous-DrivingCudaCod
- linux测试环境搭建教程,linux下gtest测试环境搭建步骤
魔屋
linux测试环境搭建教程
Step1:下载gtest1.解压后进入gtest目录,如下:继续make,又出错,原因同上。解决路径:googlemock/CMakeFiles/gmock_main.dir/flags.make继续make,又出错,原因同上。解决路径:googletest/gtest/CMakeFiles/gtest.dir/flags.make继续make,又出错,原因同上。解决路径:googletest/
- C/C++生态工具链——编译构建工具CMake/CMakeList初探
程序员与背包客_CoderZ
C/C++开发基础c++开发语言linuxc语言
一,CMake简介CMake的全称是Cross-platformMake。我第一次参与LinuxC++开发时使用的工具是Make,而后开始切换到CMake,一开始以为CMake是和C语言有关,原来开头的C表示它可以跨平台。CMake的使用场景:跨平台编译运行,交叉编译。一般基于CMakeLists.txt文件定义的编译构建规则来生成目标文件和目标库。CMakeLists.txt样例如下:#cmak
- cmake资料
kgduu
cmakecmake
资源cmake官方网站CMAKE_INSTALL_PREFIXlinux默认是/usr/local,windows默认是c:/ProgramFiles
- Linux——MySQL主从复制与读写分离
IT_郑杰
linuxmysql运维
实验环境虚拟机3台centos7.9网卡NAT模式数量1组件包mysql-5.6.36.tar.gzcmake-2.8.6.tar.gz设备IP备注Centos01192.168.223.123AmoebaCentos02192.168.223.124MasterCentos03192.168.223.125SlaveMySQL安装主从同时操作安装所需要的组件包[root@chicken~]#yu
- cmake添加QT multimedia包(mac,ubantu)
熊明之
camkeQtmacosqt开发语言cmake
现有的百度关于cmake添加QTmultimedia包(mac,ubantu)都是错误,正确的添加方式如下,cmake添加2行set(Qt5MultimediaWidgets_DIR**/Qt5.9.8/5.9.8/clang_64/lib/cmake/Qt5MultimediaWidgets)#包的位置target_link_libraries(${PROJECT_NAME}Qt5::Widge
- CMAKE实践读书笔记(1)P1-P12
嘉子的秃头日记
CMAKE实践读书笔记c++
目录关于kitware公司关于VTK关于KDE4关于SVN和CVS关于类BSD许可Q:什么是native编译配置文件Q:Xcode是什么Q:MSVC是什么关于kdelibs和autotoolsQ:什么是pkg-config关于mkdir关于stdio.h和iostreammain.cCmakeLists.txt关于MESSAGE关于${}Q:HELLO_BINARY_DIR和HELLO_SOURC
- 使用Qt 6创建第一个CMAKE项目
大白菜66
QtC++c++cmakeqt
目录1.创建一个普通C++项目2.创建一个Qt项目3.CMake术语解释1.创建一个普通C++项目新建一个文件夹test用于本次项目的测试,新建两个文件分别为CMakeLists.txt和main.cxxCMkeLists.txtcmake_minimum_required(VERSION3.15)project(TestLANGUAGESCXX)add_executable(${PROJECT_
- centos7交叉编译aarch64
岑小岑
Linuxlinux
交叉编译aarch64一:原始链接网址二:查看目标服务器版本信息三:下载源码包四:安装1)解压源码2)创建符号链接3)创建文件夹,添加路径4)源码生成Binutils5)安装内核6)安装GCC7)安装GLIBC8)重新安装GCC9)重新安装glibc10)重新安装GCC五:使用,CMakeFile.txt中添加交叉编译开关注释:可能问题一:原始链接网址HowtoBuildaGCCCross-Com
- ubuntu18安装cmake27的方法
在Ubuntu18.04系统中安装CMake2.7版本,可以按照以下步骤进行操作。首先,我们需要确保系统中已经安装了必要的开发工具和库。在Ubuntu中,我们可以使用apt包管理器来完成这个任务。打开终端窗口,输入以下命令:sudoaptupdatesudoaptinstallbuild-essentiallibssl-dev这些命令会更新你的包列表,并安装构建工具和SSL开发库,这些都是编译CM
- ros自定义srv记录
西木九
roboticROSsrv
文章目录自定义srv1.定义srv文件2.修改package.xml3.修改CMakeLists.txt4.sevice_server.py5.运行`catkinbuild`测试使用(rosservice命令)自定义srvros版本:kinetic自定义test包的文件结构如下|--test||--CMakeLists.txt||--srv||`--WordCount.srv||--package
- Suse 12更新操作系统Openssl(3.2.0)、OpenSSH(9.6p1)及ntp(4.2.8p17)(源码编译安装)
Lz__Heng
服务器linux运维opensshntpsuse
部署前准备安装依赖zypperinstall-ygccgcc-c++glibcmakeautoconfopensslopenssl-develpcre-develpam-develzypperinstall-ypam*zlib*SUSE的pam模块支持与其他Linux不同,请按需检查openssh-9.6p1.tar.gzopenssl-3.2.0.tar.gzzlib-1.3.1.tar.gz(
- MIT-BEVFusion系列九--CUDA-BEVFusion部署1 debug代码
端木的AI探索屋
CUDACUDA-BEVFusion模型算法部署自动驾驶bevnvidia
目录开启Debug常用数据在一起看CUDA-BEVFusion的代码前,我们把后面会常见到的变量以及他的含义写在前方,看代码的时候如果看到同名的变量,可以过来看一看数据的形状和含义。另外这里介绍了开启debug的方法。总而言之,本篇文章是一个类似前言的文章,方便后续大家调试代码,理解代码。开启Debug修改CMakeLists.txt,注释26行,打开27行注释。修改前,默认设置修改后重新运行ba
- centos7 arm服务器编译安装onnxruntime-gpu
番茄小能手
aarch64Linuxarm开发centos7
前言ONNXRuntime是适用于Linux,Windows和Mac上ONNX格式的机器学习模型的高性能推理引擎,但在arm服务器上,onnxruntime只有CPU版的,GPU版的没有,因此需要自行去编译GPU版本的才可以。环境准备1、python3.82、cmake:2.26.0版本以上,可以直接下载aarch64版本的进行安装Releases·Kitware/CMake(github.com
- Eigen c++库
Big David
决策规划控制C++c++Eigen
Eigen前言工程代码中经常遇到Eigen的使用,故做下学习小结。ubuntu:在终端输入:sudoapt-getinstalllibeigen3-devwindows:CLion:eigen-3.4.0下载地址解压文件到工程目录,在CMakeList.txt文件上添加:include_directories(./eigen-3.4.0)Eigen简单入门1Eigen矩阵和向量在Eigen中,所有
- AliOS编译三方库
一切皆是定数
#Android底层开发alios
文章目录1、官网教程2、编译NDK2.1下载ndk2.2编译环境准备2.3安装ndk3cmake交叉编译3.1编译工具链3.2编译三方库4自带编译配置文件的交叉编译1、官网教程AliOS开发官网链接:AliOS开发者官网应用开发下NDK开发有相关NDK开发介绍2、编译NDK2.1下载ndk首先,下载ndk2.2编译环境准备安装makesudoaptinstallmake安装nodejssudoap
- ubuntu18 环境安装
knowledgebao
工具类ubuntu
1.ubuntu18环境安装1.ubuntu18环境安装1.1.defaultlanguage1.2.sougoushurufa1.3.cmake-last1.4.audio-recorder1.5.sources.list==切换清华源1.6.ohmyzsh1.7.weixin1.8.bcompare1.9.wireshark1.10.其他问题1.1.defaultlanguageubuntu修
- ESP32工程中CMake使用及加入第三方SDK库文件
牛马大师兄
ESP32系列经验教程开发工具经验教程linuxc++vscode物联网mcuiot
1、ESP32工程结构本文中使用的是乐鑫官方推出的ESP-IDFv5.1对ESP32S3设备开发,并非是Arduino、Micro-python等第三方工具开发。在ESP-IDF框架中,乐鑫官方已经将CMake和Ninja编译构建工具集成到了ESP-IDF中。ESP-IDF即乐鑫物联网开发框架,可为在Windows、Linux和macOS系统平台上开发ESP32-S3应用程序提供工具链、API、组
- ROS篇——一个简单的ros package的编译规则CMakeLists.txt文件的编写示例
易Yi
ROS篇Ubuntu篇机器人linuxc++
package的文件结构如下:如上图的文件结构src中lidar.cpp是一个工具类,lidar_ros_node.cpp是最终要运行的可执行程序的代码。include中是lidar.cpp要用到的一些头文件。launch文件夹中是要运行的launch文件。则CMakeLists.txt文件可如下编写。cmake_minimum_required(VERSION3.0.2)project(lida
- C++篇——Windows下cmake编译提示‘The CMAKE_C_COMPILER: cl is not a full path’的解决办法
易Yi
C++篇c++开发语言
在Windows下进行cmake编译时提示如下错误--TheCcompileridentificationisunknownCMakeErroratCMakeLists.txt:3(PROJECT):TheCMAKE_C_COMPILER:clisnotafullpathandwasnotfoundinthePATH.TousetheNMakegeneratorwithVisualC++,cmak
- win10+python3.7安装Dlib时出现“failed build wheel for Dlib”问题
沈兵_7394
因为需要用到dlib+face_recognition做一些人脸识别的项目,有过编程经验的同学电脑都会事先安装有visualstudio,所以不会出现这个问题,如果没有安装visualstudio,就会出现“failedbuildwheelforDlib”的问题,当检查了wheel,cmake,等等依赖都没有问题时,解决方法为:安装visualstudio(推荐版本2019),一定要勾选C++开发
- C++集群聊天服务器 muduo+nginx+redis+mysql数据库连接池 笔记 (下)
呵呵哒( ̄▽ ̄)"
数据库服务器nginxredismuduo数据库连接池
C++集群聊天服务器网络模块+业务模块+CMake构建项目笔记(上)-CSDN博客https://blog.csdn.net/weixin_41987016/article/details/135991635?spm=1001.2014.3001.5501C++集群聊天服务器数据模块+业务模块+CMake构建项目笔记(上)-CSDN博客https://blog.csdn.net/weixin_41
- Clion总结
XinbinLi
1.安装过程最好选择离线安装,这样方便如果安装错误,可以卸载。卸载方法:删除解压后的文件夹,删除~/.CLionXX类似文件夹。1.1安装配置需要更改CLion的自动检测配置,改为实际的路径配置,如下图所示。需要注意的是:CLion一般会自带cmake,因此最好采用系统已经安装好了的cmake,更改cmake的路径;c和c++编译器应该分别采用gcc和g++。Screenshotfrom2019-
- FFMPEG centos 安装指南
jxhaha
工具类ffmpegcentoslinux
安装时用到的文件夹ffmpeg_sources–源代码下载后存放的地方,完成指引后这样可以被删掉。ffmpeg_build–一些辅助编译的文件或者库文件的存放目录,完成指引后这样可以被删掉。bin–最终的二进制文件(ffmpeg,ffprobe,x264,x265)安装的地方1、安装基础依赖yuminstallautoconfautomakebzip2bzip2-develcmakefreetyp
- Windows11(非WSL)安装Installing llama-cpp-python with GPU Support
aiXpert
llamapython开发语言
直接安装,只支持CPU。想支持GPU,麻烦一些。1.安装CUDAToolkit(NVIDIACUDAToolkit(availableathttps://developer.nvidia.com/cuda-downloads)2.安装如下物件:gitpythoncmakeVisualStudioCommunity(makesureyouinstallthiswiththefollowingsett
- g++编译--运行opencv步骤。
weixin_43003792
opencv人工智能计算机视觉
一:下载opencv源码库。1cmake-DCMAKE_BUILD_TYPE=Release-DOPENCV_GENERATE_PKGCONFIG=ON-DWITH_FFMPEG=ON…2make-j83makeinstall二:找到两个目录:include/所有头文件lib/所哟库文件三:编译运行代码;/usr/bin/g++-fdiagnostics-color=always-g/home/o
- C++语言的单元测试与代码覆盖率
weixin_34008805
c/c++测试git
前言测试是软件开发过程中一个必须的环节,测试确保软件的质量符合预期。对于工程师自己来说,单元测试也是一种提升自信心的方式。直接交付没有经过测试的代码是不太好的,因为这很可能会浪费整个团队的时间,在一些原本早期就可以发现的问题上。而单元测试,就是发现问题一个很重要的环节。本文以C++语言为基础,讲解如何进行单元测试并生成测试报告。在工具上,我们会使用下面这些:GCCCMakeGoogleTestgc
- 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