- 【组件-池式】线程池1-线程
好好学习++
课程笔记#C/C++服务器c++linuxc语言
声明:仅为个人学习总结,还请批判性查看,如有不同观点,欢迎交流。摘要介绍在Linux环境中,使用POSIXAPI和C++11进行线程开发的基本操作,包括线程的创建、退出,以及属性设置等。目录摘要1基本概念1.1线程函数1.2C++多线程开发方式2POSIX线程API2.1线程的创建2.2线程的属性2.2.1分离状态2.2.2调度策略2.3线程的退出2.3.1线程主动结束2.3.2pthread_k
- SpringBoot中实现WebMvcConfigurer,配置跨域无效
TNTnine
Springspringbootjava后端
跨域配置如下:@ConfigurationpublicclassCorsConfigimplementsWebMvcConfigurer{/***跨域配置*-Access-Control-Allow-Origin的介绍:*-https://blog.csdn.net/MicroAnswer/article/details/102913571*-SpringMVC路径匹配规则:*-1、https:/
- RAM与ROM的区别
云墨丹青
系统ramrom
[参考链接】(https://blog.csdn.net/tectrol/article/details/80638457)随机存取存储器(RandomAccessMemory,RAM)又称作“随机存储器”,是与CPU直接交换数据的内部存储器,也叫主存(内存)。它可以随时读写,而且速度很快,通常作为操作系统或其他正在运行中的程序的临时数据存储媒介。当电源关闭时RAM不能保留数据。如果需要保存数据,
- Python网络编程
懒大王爱吃狼
pythonpython网络开发语言pycharmPython基础pycharm安装
Python网络编程涉及使用Python语言来创建网络应用程序,这些应用程序可以在网络上与其他计算机进行通信。Python提供了多个库和框架来简化网络编程的过程,其中一些最常用的包括socket库、http.server模块、asyncio库以及第三方库如requests、Twisted和aiohttp等。以下是一些Python网络编程的基本概念和使用示例:1.套接字编程(SocketProgra
- Linux:Supervisor进程管理
m0_37559973
linux运维服务器
目录一、Supervisor介绍二、核心组件2.1supervisord2.2supervisorctl2.3WebServer三、安装Supervisor3.1安装要求3.2安装方式3.3修改WebServer端口(可选)3.4启动服务四、Supervisor常用命令4.1supervisord命令行选项4.2supervisorctl命令行选项五、监控服务5.1创建进程管理配置文件5.2重新加
- 【Linux】 TCP短服务编写和守护进程
杰瑞的猫^_^
Linuxlinuxtcp/ip守护进程进程组
文章目录TCP短服务编写流程进程组和会话和守护进程TCP短服务编写流程 TCP服务器是面向连接的,客户端在发送数据之前需要先与服务器建立连接。因此,TCP服务器需要能够监听客户端的连接请求。为了实现这一功能,需要将TCP服务器创建的套接字设置为监听状态,以便等待和处理客户端的连接请求。服务器在完成监听工作后,才算初始化完成。 客户端在创建套接字后,使用connect函数向服务器发起连接请求,而
- 【Linux】【网络】Reactor模式
钟离墨笺
Linuxlinux网络java
【Linux】【网络】Reactor模式1.Reactor模式:Reactor模式是一种事件驱动的设计模式,同步I/O通常用于设置Reactor模式主线程(I/0处理单元,下同)只负责监听文件描述上是否有事件发生,有的话就立即将该事件通知工作线程(逻辑单元,下同)。除此之外,主线程不做任何其他实质性的工作。读写数据,接受新的连接,以及处理客户请求均在工作线程中完成。使用同步I/O模型(以epoll
- Linux 固定 IP 地址和网关
法号:行颠
Linuxlinux
Linux固定IP地址和网关查看IPifconfigifconfigeth0ipaddripaddrshoweth0查看网关iprouteshowroute-nnetstat-rn设置固定IP//配置静态IP文件/etc/network/interfaces$vi/etc/network/interfacesautoeth0ifaceeth0inetstaticaddress192.168.0.2
- 百万架构师第三十九课:RabbitMq:Linux安装RabbitMq|JavaGuide
后端
来源:https://javaguide.netRPM包安装RabbitMQRabbitMQ的安装非常简单,由于RabbitMQ依赖于Erlang,所以需要先安装Erlang,解决依赖关系后,就可以安装RabbitMQ了。注意,在安装Erlang前,需要先安装socat安装socat[root@nogeek]#yum-yinstallsocat下载RPM包RabbitMQ:http://www.r
- 1、Android概述
守望178
Android
安卓(Android)是一种基于Linux的自由及开放源代码的操作系统。主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。Android操作系统最初由AndyRubin开发,主要支持手机。2005年8月由Google收购注资。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。随后Google以
- Linux内核中的双向链表list_head
ioriwc
linux链表运维
双向链表在Linux内核中使用非常多,它是内核各种队列、栈的基础,相关的结构定义和函数均在include/linux/list.h中定义,下面介绍下其原理及使用方法。1、结构体定义structlist_head{structlist_head*next,*prev;};双向链表结构体很简单,有prev和next两个指针,分别指向链表的前一节点和后一节点。这里专门讲下空链表,空链表指链表的prev和
- Alpine 安装 应用错误 ERROR: unable to select packages
seojava
linux运维服务器
/#apkaddcurlfetchhttps://dl-cdn.alpinelinux.org/alpine/v3.19/community/x86_64/x86_64/APKINDEX.tar.gzWARNING:updatingandopeninghttps://dl-cdn.alpinelinux.org/alpine/v3.19/community/x86_64/:Nosuchfileor
- mysql 如何查看建表语句
艾斯比的日常
mysqlmysql数据库database
由于公司都是使用linux跳板机连接mysql,而某个项目又没有测试环境,于是只能通过跳板机查看某张表的详细信息.具体语句如下这里以查看ups_auth_info表为例#\G表示以垂直形式查看结果showcreatetableups_auth_info\G;总结:showcreatetablexxx\G;语句虽然简单,但是自己如果不注重积累,那么在使用mysql命令时,就不得不现场查询sql语法,
- 如何在MacOS上查看edge/chrome的扩展源码
冬阳春晖
tipsmacosedge前端
步骤进入管理扩展页面点击详细信息复制对应id在命令行键入open~/Library/ApplicationSupport/MicrosoftEdge/Default/Extensions/${你刚刚复制的id}即可打开访达中对应的更目录注意由于原生命令行无法直接处理空格,所以需要加转义符\,即:open~/Library/Application\Support/Microsoft\Edge/Def
- 提示-bash: telnet: command not found的解决方法
廖俊才
LinuxCentOS
Linuxcentos运行telnet命令,出现下面的错误提示:[root@localhost~]#telnet127.0.0.1-bash:telnet:commandnotfound解决方法:安装telnet服务centos、ubuntu安装telnet命令的方法.yumlisttelnet*列出telnet相关的安装包yuminstalltelnet-server安装telnet服务yumi
- clang编译代码报错:`_start': (.text+0x24): undefined reference to `main'
PandaMohist
前端linuxjavascript运维服务器
1.说明使用clang++10.1编译报错:/usr/bin/ld:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crt1.o:infunction`_start':(.text+0x24):undefinedreferenceto`main'clang-10:error:linkercommandfailedwithexitc
- (.text+0x1b): undefined reference to `main‘
༺࿈梦༒缘࿈༻
c++linux服务器
使用vscodeLinuxg++编译出现/usr/bin/ld:/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o:infunction`_start':(.text+0x1b):undefinedreferenceto`main'collect2:error:ldreturned1exitstatusmake:**
- C#、ASP、ASP.NET、.NET、ASP.NET CORE区别、ASP.NET Core其概念和特点、ASP.NET Core个人心得体会
手中的风筝664
c#asp.net.net
C#是一种面向对象的编程语言,主要用于开发跨平台的应用程序。它是.NET框架的一部分,并且可以在.NET平台上运行。ASP(ActiveServerPages)是一种用于构建动态Web页面的技术,使用VBScript或JScript作为服务器端脚本语言。它是早期的Microsoft技术,现已逐渐过时。ASP.NET是微软推出的下一代Web应用程序开发技术,它提供了更强大、更高效的功能和工具。ASP
- Window on arm编译onnxruntime的python安装包
lpcarl
Windowsonarm开发pythonWOAWindowsonarmonnx
Windowonarm编译onnxruntime_qnn的python安装包准备工作开始安装准备工作1.下载onnxruntime的源码gitclonehttps://github.com/microsoft/onnxruntime.git2.安装vsstudio下载visualstudio安装包,并在线安装visualstudio2022版本,安装完成后安装“c++桌面应用开发”相关的组件下载c
- selenium驱动Edge报错解决办法
Dream D
seleniumpythonedge
selenium驱动Edge报错解决办法selenium使用Edge运行时报错Message:‘MicrosoftWebDriver.exe’executableneedstobeinPATH//Anhighlightedblockselenium.common.exceptions.WebDriverException:Message:'MicrosoftWebDriver.exe'execut
- Linux下CMake 3.28.2版本针对ARM64架构的预编译安装包
安检
本文还有配套的精品资源,点击获取简介:CMake是一个跨平台的自动化构建系统,通过配置文件简化了项目构建过程,并能够生成适应不同操作系统和编译器环境的构建工具。版本3.28.2针对Linux系统和aarch64架构预编译,适用于64位ARM处理器。该版本包括了所有必要的可执行文件、库、模块和文档。解压后,通过简单几步即可安装并开始使用CMake来构建项目。1.CMake简介和特性CMake简介CM
- 学习笔记之debian的thonny开发(尚未验证)--从stm32裸机到linux嵌入式系统
sjh2100
嵌入式硬件硬件工程linuxstm32debian
这应该算stm32裸机用户转linux嵌入式系统的入门学习笔记。【鲁班猫】39-vnc远程桌面连接鲁班猫_哔哩哔哩_bilibili本集的鲁班猫的视频介绍中,没有清晰明确指出需要linux开发板接入网络,接入网络可以使用有线网口或者wifi路由,有些提示信息是来自开发板还是win电脑屏幕并不是很明确。stm32开发需要win+keil+stlink+开发板。linux嵌入式系统应用开发需要:lin
- android adb 查看系统主频,hp adb命令,查看内存,CPU主频等信息。
三木在Yummy
androidadb查看系统主频
Theadbcommandprovidesawaytogainusefulinformationaboutanumberofthesystemsconfigurationareas.Todeterminethephysicalmemory(RAM):forHP-UX10xexample:echophysmem/D|adb/stand/vmunix/dev/kmemphysmem:physmem:2
- Android N(全志平台A40i)添加adb登录密码
阿姨打太极
androidadb
需求:在adbshell登录终端时加入鉴权密码,鉴权开关可配置且密码可修改问题分析:见下文AndroidN:adb及adbd源码分析解决方案:思路:pc上终端输入adbshell命令后,实际上是adbd守护进程fork出的子进程来执行/bin/sh,adbd监听usb/tcp输入执行命令,并通过socket将结果回显到pc。那么我们解决该问题的方法就是在执行/bin/sh之前加入我们的校验脚本。1
- DeepSeek 满血版的部署方案
rockmelodies
deepseek人工智能deepseek
1.环境准备确保你的服务器或本地开发环境满足以下要求:操作系统:Linux(推荐Ubuntu20.04LTS或CentOS7)内存:至少16GBCPU:至少4核硬盘:至少50GB可用空间网络:稳定的互联网连接2.安装依赖安装必要的软件包和依赖项:#更新系统包sudoapt-getupdatesudoapt-getupgrade-y#安装必要的软件包sudoapt-getinstall-ybuild
- Android-Amlogic-GPIO
shizhong2006
systemBSPandroid驱动开发linux
问题显示外设供电电压是19V,通过GPIO控制上下电,下面以此为例,梳理基于Amlogic平台,在Android系统里对GPIO的控制过程。Linuxversion5.4.125-android11-2-g05a36b0e5a09-dirtyMachinemodel:AmlogicT5DT950D4AM3011.5G分析过程原理图通过原理图,确定对显示外设供电的GPIO是GPIOH_13Andro
- 数据库报错1045-Access denied for user ‘root‘@‘localhost‘ (using password: YES)解决方式
篱笆院的狗
mysql
MySQL报错1045表示用户`root`从`localhost`连接时被拒绝访问,通常是因为密码错误、权限问题或配置问题。以下是解决该问题的常见方法:方法一:检查用户名和密码•确认用户名和密码是否正确:确保输入的用户名和密码完全正确,注意大小写和空格。•检查CapsLock是否开启:如果CapsLock开启,可能会导致密码输入错误。方法二:重置密码如果密码错误或忘记密码,可以通过以下步骤重置密码
- vba对应CAD版本下载网址
山水CAD筑梦人
CADVBA开发语言
下载对应vba版本网址如下:DownloadtheMicrosoftVBAModuleforAutoCADhttps://www.autodesk.com/support/technical/article/caas/tsarticles/ts/3kxk0RyvfWTfSfAIrcmsLQ.html以下是DwgVersion枚举值与AutoCAD版本的对应关系:枚举值数值对应的AutoCAD版本A
- 嵌入式编程——数据结构与linux编程
做自己'S Catanin
数据结构linuxc#
根据dict.txt文件中的内容,用户输入单词获得单词含义#include"public.h"intmain(void){structlist_head*parray=NULL;FILE*fp=NULL;char*nret=NULL;char*pword=NULL;char*pparaphrase=NULL;intnum=0;charstr[1024]={0};charword[256]={0};
- Linux Ubuntu设置ollama保存模型的路径和设置监听端口
3333333_
大模型Linuxlinux学习人工智能大模型
下载模型之前可以修改下模型默认保存路径。设置ollama保存模型的路径和监听端口sudomkdir/path/to/ollama/modelssudochown-R777/path/to/ollama/modelssudovi/etc/systemd/system/ollama.service在[Service]下面添加相应的环境变量Environment,包括OLLAMA_HOST和OLLAMA
- redis学习笔记——不仅仅是存取数据
Everyday都不同
returnSourceexpire/delincr/lpush数据库分区redis
最近项目中用到比较多redis,感觉之前对它一直局限于get/set数据的层面。其实作为一个强大的NoSql数据库产品,如果好好利用它,会带来很多意想不到的效果。(因为我搞java,所以就从jedis的角度来补充一点东西吧。PS:不一定全,只是个人理解,不喜勿喷)
1、关于JedisPool.returnSource(Jedis jeids)
这个方法是从red
- SQL性能优化-持续更新中。。。。。。
atongyeye
oraclesql
1 通过ROWID访问表--索引
你可以采用基于ROWID的访问方式情况,提高访问表的效率, , ROWID包含了表中记录的物理位置信息..ORACLE采用索引(INDEX)实现了数据和存放数据的物理位置(ROWID)之间的联系. 通常索引提供了快速访问ROWID的方法,因此那些基于索引列的查询就可以得到性能上的提高.
2 共享SQL语句--相同的sql放入缓存
3 选择最有效率的表
- [JAVA语言]JAVA虚拟机对底层硬件的操控还不完善
comsci
JAVA虚拟机
如果我们用汇编语言编写一个直接读写CPU寄存器的代码段,然后利用这个代码段去控制被操作系统屏蔽的硬件资源,这对于JVM虚拟机显然是不合法的,对操作系统来讲,这样也是不合法的,但是如果是一个工程项目的确需要这样做,合同已经签了,我们又不能够这样做,怎么办呢? 那么一个精通汇编语言的那种X客,是否在这个时候就会发生某种至关重要的作用呢?
&n
- lvs- real
男人50
LVS
#!/bin/bash
#
# Script to start LVS DR real server.
# description: LVS DR real server
#
#. /etc/rc.d/init.d/functions
VIP=10.10.6.252
host='/bin/hostname'
case "$1" in
sta
- 生成公钥和私钥
oloz
DSA安全加密
package com.msserver.core.util;
import java.security.KeyPair;
import java.security.PrivateKey;
import java.security.PublicKey;
import java.security.SecureRandom;
public class SecurityUtil {
- UIView 中加入的cocos2d,背景透明
374016526
cocos2dglClearColor
要点是首先pixelFormat:kEAGLColorFormatRGBA8,必须有alpha层才能透明。然后view设置为透明glView.opaque = NO;[director setOpenGLView:glView];[self.viewController.view setBackgroundColor:[UIColor clearColor]];[self.viewControll
- mysql常用命令
香水浓
mysql
连接数据库
mysql -u troy -ptroy
备份表
mysqldump -u troy -ptroy mm_database mm_user_tbl > user.sql
恢复表(与恢复数据库命令相同)
mysql -u troy -ptroy mm_database < user.sql
备份数据库
mysqldump -u troy -ptroy
- 我的架构经验系列文章 - 后端架构 - 系统层面
agevs
JavaScriptjquerycsshtml5
系统层面:
高可用性
所谓高可用性也就是通过避免单独故障加上快速故障转移实现一旦某台物理服务器出现故障能实现故障快速恢复。一般来说,可以采用两种方式,如果可以做业务可以做负载均衡则通过负载均衡实现集群,然后针对每一台服务器进行监控,一旦发生故障则从集群中移除;如果业务只能有单点入口那么可以通过实现Standby机加上虚拟IP机制,实现Active机在出现故障之后虚拟IP转移到Standby的快速
- 利用ant进行远程tomcat部署
aijuans
tomcat
在javaEE项目中,需要将工程部署到远程服务器上,如果部署的频率比较高,手动部署的方式就比较麻烦,可以利用Ant工具实现快捷的部署。这篇博文详细介绍了ant配置的步骤(http://www.cnblogs.com/GloriousOnion/archive/2012/12/18/2822817.html),但是在tomcat7以上不适用,需要修改配置,具体如下:
1.配置tomcat的用户角色
- 获取复利总收入
baalwolf
获取
public static void main(String args[]){
int money=200;
int year=1;
double rate=0.1;
&
- eclipse.ini解释
BigBird2012
eclipse
大多数java开发者使用的都是eclipse,今天感兴趣去eclipse官网搜了一下eclipse.ini的配置,供大家参考,我会把关键的部分给大家用中文解释一下。还是推荐有问题不会直接搜谷歌,看官方文档,这样我们会知道问题的真面目是什么,对问题也有一个全面清晰的认识。
Overview
1、Eclipse.ini的作用
Eclipse startup is controlled by th
- AngularJS实现分页功能
bijian1013
JavaScriptAngularJS分页
对于大多数web应用来说显示项目列表是一种很常见的任务。通常情况下,我们的数据会比较多,无法很好地显示在单个页面中。在这种情况下,我们需要把数据以页的方式来展示,同时带有转到上一页和下一页的功能。既然在整个应用中这是一种很常见的需求,那么把这一功能抽象成一个通用的、可复用的分页(Paginator)服务是很有意义的。
&nbs
- [Maven学习笔记三]Maven archetype
bit1129
ArcheType
archetype的英文意思是原型,Maven archetype表示创建Maven模块的模版,比如创建web项目,创建Spring项目等等.
mvn archetype提供了一种命令行交互式创建Maven项目或者模块的方式,
mvn archetype
1.在LearnMaven-ch03目录下,执行命令mvn archetype:gener
- 【Java命令三】jps
bit1129
Java命令
jps很简单,用于显示当前运行的Java进程,也可以连接到远程服务器去查看
[hadoop@hadoop bin]$ jps -help
usage: jps [-help]
jps [-q] [-mlvV] [<hostid>]
Definitions:
<hostid>: <hostname>[:
- ZABBIX2.2 2.4 等各版本之间的兼容性
ronin47
zabbix更新很快,从2009年到现在已经更新多个版本,为了使用更多zabbix的新特性,随之而来的便是升级版本,zabbix版本兼容性是必须优先考虑的一点 客户端AGENT兼容
zabbix1.x到zabbix2.x的所有agent都兼容zabbix server2.4:如果你升级zabbix server,客户端是可以不做任何改变,除非你想使用agent的一些新特性。 Zabbix代理(p
- unity 3d还是cocos2dx哪个适合游戏?
brotherlamp
unity自学unity教程unity视频unity资料unity
unity 3d还是cocos2dx哪个适合游戏?
问:unity 3d还是cocos2dx哪个适合游戏?
答:首先目前来看unity视频教程因为是3d引擎,目前对2d支持并不完善,unity 3d 目前做2d普遍两种思路,一种是正交相机,3d画面2d视角,另一种是通过一些插件,动态创建mesh来绘制图形单元目前用的较多的是2d toolkit,ex2d,smooth moves,sm2,
- 百度笔试题:一个已经排序好的很大的数组,现在给它划分成m段,每段长度不定,段长最长为k,然后段内打乱顺序,请设计一个算法对其进行重新排序
bylijinnan
java算法面试百度招聘
import java.util.Arrays;
/**
* 最早是在陈利人老师的微博看到这道题:
* #面试题#An array with n elements which is K most sorted,就是每个element的初始位置和它最终的排序后的位置的距离不超过常数K
* 设计一个排序算法。It should be faster than O(n*lgn)。
- 获取checkbox复选框的值
chiangfai
checkbox
<title>CheckBox</title>
<script type = "text/javascript">
doGetVal: function doGetVal()
{
//var fruitName = document.getElementById("apple").value;//根据
- MySQLdb用户指南
chenchao051
mysqldb
原网页被墙,放这里备用。 MySQLdb User's Guide
Contents
Introduction
Installation
_mysql
MySQL C API translation
MySQL C API function mapping
Some _mysql examples
MySQLdb
- HIVE 窗口及分析函数
daizj
hive窗口函数分析函数
窗口函数应用场景:
(1)用于分区排序
(2)动态Group By
(3)Top N
(4)累计计算
(5)层次查询
一、分析函数
用于等级、百分点、n分片等。
函数 说明
RANK() &nbs
- PHP ZipArchive 实现压缩解压Zip文件
dcj3sjt126com
PHPzip
PHP ZipArchive 是PHP自带的扩展类,可以轻松实现ZIP文件的压缩和解压,使用前首先要确保PHP ZIP 扩展已经开启,具体开启方法就不说了,不同的平台开启PHP扩增的方法网上都有,如有疑问欢迎交流。这里整理一下常用的示例供参考。
一、解压缩zip文件 01 02 03 04 05 06 07 08 09 10 11
- 精彩英语贺词
dcj3sjt126com
英语
I'm always here
我会一直在这里支持你
&nb
- 基于Java注解的Spring的IoC功能
e200702084
javaspringbeanIOCOffice
- java模拟post请求
geeksun
java
一般API接收客户端(比如网页、APP或其他应用服务)的请求,但在测试时需要模拟来自外界的请求,经探索,使用HttpComponentshttpClient可模拟Post提交请求。 此处用HttpComponents的httpclient来完成使命。
import org.apache.http.HttpEntity ;
import org.apache.http.HttpRespon
- Swift语法之 ---- ?和!区别
hongtoushizi
?swift!
转载自: http://blog.sina.com.cn/s/blog_71715bf80102ux3v.html
Swift语言使用var定义变量,但和别的语言不同,Swift里不会自动给变量赋初始值,也就是说变量不会有默认值,所以要求使用变量之前必须要对其初始化。如果在使用变量之前不进行初始化就会报错:
var stringValue : String
//
- centos7安装jdk1.7
jisonami
jdkcentos
安装JDK1.7
步骤1、解压tar包在当前目录
[root@localhost usr]#tar -xzvf jdk-7u75-linux-x64.tar.gz
步骤2:配置环境变量
在etc/profile文件下添加
export JAVA_HOME=/usr/java/jdk1.7.0_75
export CLASSPATH=/usr/java/jdk1.7.0_75/lib
- 数据源架构模式之数据映射器
home198979
PHP架构数据映射器datamapper
前面分别介绍了数据源架构模式之表数据入口、数据源架构模式之行和数据入口数据源架构模式之活动记录,相较于这三种数据源架构模式,数据映射器显得更加“高大上”。
一、概念
数据映射器(Data Mapper):在保持对象和数据库(以及映射器本身)彼此独立的情况下,在二者之间移动数据的一个映射器层。概念永远都是抽象的,简单的说,数据映射器就是一个负责将数据映射到对象的类数据。
&nb
- 在Python中使用MYSQL
pda158
mysqlpython
缘由 近期在折腾一个小东西须要抓取网上的页面。然后进行解析。将结果放到
数据库中。 了解到
Python在这方面有优势,便选用之。 由于我有台
server上面安装有
mysql,自然使用之。在进行数据库的这个操作过程中遇到了不少问题,这里
记录一下,大家共勉。
python中mysql的调用
百度之后能够通过MySQLdb进行数据库操作。
- 单例模式
hxl1988_0311
java单例设计模式单件
package com.sosop.designpattern.singleton;
/*
* 单件模式:保证一个类必须只有一个实例,并提供全局的访问点
*
* 所以单例模式必须有私有的构造器,没有私有构造器根本不用谈单件
*
* 必须考虑到并发情况下创建了多个实例对象
* */
/**
* 虽然有锁,但是只在第一次创建对象的时候加锁,并发时不会存在效率
- 27种迹象显示你应该辞掉程序员的工作
vipshichg
工作
1、你仍然在等待老板在2010年答应的要提拔你的暗示。 2、你的上级近10年没有开发过任何代码。 3、老板假装懂你说的这些技术,但实际上他完全不知道你在说什么。 4、你干完的项目6个月后才部署到现场服务器上。 5、时不时的,老板在检查你刚刚完成的工作时,要求按新想法重新开发。 6、而最终这个软件只有12个用户。 7、时间全浪费在办公室政治中,而不是用在开发好的软件上。 8、部署前5分钟才开始测试。