- 实战C++手写线程池
GeniusAng丶
C/C++编程c++OOP线程池
课程总目录文章目录一、项目必备基础概念1.1并发和并行1.2多线程的优势1.3线程的消耗1.4线程池的优势1.5线程池的两种模式:fixed模式和cached模式1.6线程同步之线程互斥1.7线程同步之线程通信1.7.1条件变量1.7.2信号量1.8项目设计图浏览二、线程池代码展示三、线程池资源回收死锁问题分析四、线程资源回收策略修改优化五、Linux平台编译线程池动态库六、packaged_ta
- redis 快速入门
栀夏613
数据库redis数据库缓存
目录数据库的分类NoSQL非结构化认识redis特征安装redis单机安装Docker安装redis的基本配置启动redis关闭redisredis开机自启redis客户端redis数据结构介绍基本类型String的基础操作List基本操作Set基本操作SortedSet基本操作Hash基本操作redis通用命令key的层级格式数据库的分类关系型数据库结构化数据表中存储的数据格式是一样的数据与数据
- Spring Boot整合Redis快速入门实例
oscar999
SpringBoot实战开发大全redisspringbootjava
本篇演示环境本篇基于SpringBoot2.5.0,关于Redis的安装,可以参考:Redis介绍、安装与初体验和Windows下安装和使用Redis。整合步骤导入Redis相关的依赖项配置启动器spring-boot-starter-data-redisorg.springframework.bootspring-boot-starter-data-redis添加连接Redis服务器的相关配置在
- linux开启samba共享文件夹
linux运维samba
一:安装samba#检查是否安装sambarpm-qisamba #如未安装,使用命令安装yuminstallsamba二:系统用户配置#添加系统用户useraddyouboshare#设置系统用户登陆密码passwdyouboshare#添加共享文件夹的用户(youboshare为要共享的用户)smbpasswd-ayouboshare三:配置共享文件夹1:添加共享文件夹并设置权限#创建共享文件
- Ubuntu系统下交叉编译bzip2
linux运维交叉编译
一、交叉编译bzip21.下载libpng源码下载bzip2:https://sourceware.org/bzip2/downloads.html下载并解压源码。tar-xvzfbzip2-1.0.8.tar.gzcdbzip2-1.0.82.设置环境变量设置交叉编译工具链的环境变量:exportPATH=/home/yoyo/360Downloads/toolchains/arm-linux-
- MySQL限制登陆失败次数配置
泠然一梦
mysqladb数据库linux服务器运维windows
目录一、限制登陆策略1、Windows2、Linux一、限制登陆策略1、Windows1)安装插件登录MySQL数据库mysql-uroot-p执行命令安装插件#限制登陆失败次数插件installpluginCONNECTION_CONTROLsoname'connection_control.dll';installpluginCONNECTION_CONTROL_FAILED_LOGIN_AT
- 4.Docker容器命令
钗头风
Dockerdocker容器运维
Docker镜像与容器的理解在学习docker入门过程中有些时候容易把容器和镜像这两个概念记混淆;下面说下我自己的理解不对望指正!有镜像才能创建容器这是根本前提!IMAGE镜像就好比我们的Java实体工程代码;在服务器上这套Java实体代码可以运行启动多份工程。依靠Java实体代码启动的一个个工程就相当于是容器;准备工作:使用dockerpullubuntu命令拉取一个最新的ubuntu镜像;使用
- redis 实现登陆次数限制
weixin_30388677
数据库javaruntime
title:redis-login-limitation利用redis实现登陆次数限制,注解+aop,核心代码很简单.基本思路比如希望达到的要求是这样:在1min内登陆异常次数达到5次,锁定该用户1h那么登陆请求的参数中,会有一个参数唯一标识一个user,比如邮箱/手机号/userName用这个参数作为key存入redis,对应的value为登陆错误的次数,string类型,并设置过期时间为1mi
- 文件服务器登录次数限制,redis 实现登陆次数限制的思路详解
Sinaean Dean
文件服务器登录次数限制
title:redis-login-limitation利用redis实现登陆次数限制,注解+aop,核心代码很简单.基本思路比如希望达到的要求是这样:在1min内登陆异常次数达到5次,锁定该用户1h那么登陆请求的参数中,会有一个参数唯一标识一个user,比如邮箱/手机号/userName用这个参数作为key存入redis,对应的value为登陆错误的次数,string类型,并设置过期时间为1mi
- tcp处理
rc_ll
网络TCP
进入包的处理(net/ipv4/tcp_input.c):接收的段都由tcp_v4_do_rcv处理,该函数根据不同的状态交由不同的函数处理。LISTEN状态且已建立半连接的处理函数为tcp_v4_hnd_req,其他状态为tcp_rcv_state_processtcp_rcv_established处理从一个建立的连接进入的tcp包,是处理tcp包的唯一入口点。Linux有两种方法处理tc
- CIDR转IP段:原理&Java实现
伏羲栈
Javatcp/ipjava网络协议
博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/?__c=1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编程,高并发设计,Springboot和微服务,熟悉Linux,ESXI虚拟化以及云原生Docker和K8s,热衷于探索科技的边界,并将理论知识转化为实际应用。保持对新技术的好奇心,乐于分
- Kubernetes-v1.26.3(kubeadm)部署
wxwopt
kubelet
1.k8s基础系统环境配置1.1.环境准备CentOSLinuxrelease7.9.2009(Core)IPHOSTNAME操作系统192.168.10.131k8s-master01CentOS7.9192.168.10.132k8s-master02CentOS7.9192.168.10.133k8s-node01CentOS7.9注意:集群安装时会涉及到三个网段:宿主机网段:就是安装k8s
- CVAT标注工具使用与功能测试-Windows下(保姆式教程)
Barry-mapping
docker计算机视觉windows
目录一、安装所需要环境1.1、项目介绍(项目下载地址)1.2、Vue环境配置1.3、配置docker(Windows下)二、CVAT安装和使用2.1、CVAT安装2.2、CVAT使用2.2.1、创建用户(account)2.2.2、基本选项设置(Settings)2.2.3、创建工程(Createanewproject)2.2.4、创建任务(Createanewtask)2.2.5、开始标注(St
- 【k8s面试】超详细kubernetes面试题总结,面试必问!(附200道K8s Docker面试真题+答案详解(1)
2024开发者
程序员运维学习面试
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。需要这份系统化的资料的朋友,可以点击这里获取!一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!******1、**简述ETCD及其特点?etc
- Kubernetes kubelet inotify
summer_west_fish
#容器云Kuberneteskuberneteskubeletjava
在Kubernetes中,kubelet是运行在每个节点上的关键组件,负责管理Pod和容器的生命周期。kubelet使用多种机制来监控和管理容器的文件系统事件,其中一种机制是利用Linux的inotify接口。1.什么是inotify?inotify是一个Linux内核子系统,用于监控文件系统事件。它允许应用程序注册对特定文件或目录的监控,并在这些文件或目录发生变化时接收通知。inotify是一种
- Linux上用C++和GCC开发程序实现两个不同PostgreSQL实例下单个数据库中多个Schema稳定高效的数据迁移到其它PostgreSQL实例
weixin_30777913
c++数据库开发语言postgresql服务器
设计一个在Linux上运行的GCCC++程序,同时连接三个不同的PostgreSQL实例,其中两个实例中分别有两个数据库中多个Schema的表结构分别与第三实例中两个数据库中多个Schema个结构完全相同,同时复制两个实例中两个数据库中多个Schema里的所有表的数据到第三个实例中两个数据库中多个Schema里,使用以下快速高效的方法,加入异常处理,支持每隔固定时间重试一定次数,每张表的复制运行状
- 控制服务和守护进程
上邪o_O
RedhatLinux知识点linux
守护进程(Daemon)是什么?列举一些常见的守护进程。守护进程(Daemon)是在Linux系统中一种长期运行在后台的进程,它通常在系统启动时被启动,并且在系统关闭前一直保持运行状态。守护进程不与特定的终端关联,因此不会受到用户登录或注销的影响,其主要目的是为系统或用户提供特定的服务。httpd:用于提供Web服务,当用户在浏览器中访问网站时,httpd守护进程负责处理HTTP请求并返回相应的网
- 基于 Redis 实现分布式锁思考
程序员小乐
腾讯redisjava分布式android模拟器
推荐大家关注一个公众号点击上方"编程技术圈"关注,星标或置顶一起成长后台回复“大礼包”有惊喜礼包!每日英文Twothingsalwaystoberememberedinlife-don'ttakeanydecisionswhenyouareangry&dontmakeanypromiseswhenyouarehappy!生活中一定要记住这两件事:不在生气时做决定,不在高兴时轻许诺言。每日掏心话随欲
- 带你吃透(Netty+Redis+ZooKeeper+高并发实战)从底层原理开始剖析
java熬夜党
Javajava面试redis
前言今天给大家分享的Netty+Redis+ZooKeeper底层原理+高并发实战,希望大家认真阅读,跟上文章的节奏,一步步去提升自己~大公司的面试题从某个侧面映射出生产场景中对专项技术的要求。高并发的面试题以前基本是BAT等大公司的专利,现在几乎蔓延至与Java项目相关的整个行业。例如,与JavaNIO、Reactor模式、高性能通信、分布式锁、分布式ID、分布式缓存、高并发架构等技术相关的面试
- Android构建系统 - 03 编译执行流程
Mr.pyZhang
构建系统androidlinux
文章目录执行编译Linux内核编译make编译系统选择编译命令makem..makemmmmma...其他命令代码搜索导航指令makeclean/update-apiMakefile分类解析过程树根节点droid`/Makefile``main.mk``droid`droidcore节点.imgfilesmodules_to_install`INSTALLED_ANDROID_INFO_TXT_T
- DockerでOracle Database 23ai FreeをセットアップしMAX_STRING_SIZEを拡張する手順
engchina
LINUX数据库dockeroracle23.7
DockerでOracleDatabase23cFreeをセットアップしMAX_STRING_SIZEを拡張する手順はじめに環境準備ディレクトリ作成Dockerコンテナ起動データベース設定変更コンテナ内でSQL*Plus起動PDB操作と文字列サイズ拡張設定検証管理者ユーザー作成注意事項まとめはじめにOracleDatabase23aiFreeをDocker環境でセットアップし、拡張文字列サイズ(M
- ELK接入SpringBoot【Docker Compose】
bilibilidicks
elkspringbootdocker
安装Docker-Composecurl-Lhttps://github.com/docker/compose/releases/download/1.17.1/docker-compose-`uname-s`-`uname-m`-o/usr/local/bin/docker-compose随便找个地,创建docker-compose.yml文件,把这坨文本复制进去version:'3'servi
- 启用WSL后,使用ssh通道连接ubuntu
铁皮盒子
LinuxWin32sshubuntu运维wsl
EnjoyWSL目的启用wsl后,使用windows自带的powershell、cmd操作linux还是不太好使。以下介绍开启ssh通道,并保证能在ssh通道下,也能正常使用wsl中的win命令行,以及正常打开gui应用。离线更新WSL,请跳转链接:离线更新WSL打开ssh通道删除ubuntu自带的openssh,在wsl环境下,无法正常启动sudoaptremoveopenssh-servers
- Linux:简单理解文件系统内附Linux内核设计与实现PDF下载地址
℃绝心恋
Linuxlinux
简单理解文件系统文件系统ext2文件系统文件的存储文件的获取文件系统文件存储的方式有线性存储和离散存储两种,线性存储可能会导致磁盘的利用率降低,产生磁盘碎片,离散存储方式会提高程序对磁盘的利用率,以下是Linux内核简设计与实现中关于文系统的一段话的一部分:文件通过目录组织起来。文件目录好比一个文件目录好比一个文件夹,用来容纳相关文件。因为目录也可以包含其他目录,及子目录,所以目录可以层层嵌套,形
- 深度对比Linux软链接和Windows快捷方式
秋の水
linuxwindows
以下从8个维度对Linux软链接和Windows快捷方式进行深度对比:一、核心特性对比特性Linux软链接Windows快捷方式文件类型特殊文件类型(symboliclink).lnk扩展名文件存储内容纯文本路径二进制结构(含GUID等元数据)文件大小路径长度决定(约100B)固定约1KB系统识别内核级支持Shell解析二、路径解析机制Linux软链接:采用相对路径时基于链接文件所在目录解析示例:
- CentOS vs Ubuntu - 常用命令深度对比及最佳实践指南20250302
Narutolxy
技术干货分享centosubuntulinux
CentOSvsUbuntu-常用命令深度对比及最佳实践指南引言在Linux服务器操作系统领域,CentOS和Ubuntu是广泛采用的发行版。它们在命令集、默认工具链及生态系统方面各有特点。本文深入剖析CentOS与Ubuntu在常用命令层面的异同,并结合实践案例,帮助读者理解两者的特性,从而根据业务需求做出精准选型。1.环境配置管理1.1用户账户管理创建用户CentOSuseraddpyapp#
- 实现跨平台 SSH 连接:从 macOS 到 Windows WSL 的完整解决方案20241203
Narutolxy
技术干货分享电脑生活sshmacoswindows
实现跨平台SSH连接:从macOS到WindowsWSL的完整解决方案✨引言随着跨平台开发的普及,开发者经常需要在多系统环境中切换和协作。尤其是在macOS和Windows混合使用的开发环境中,通过SSH远程访问和管理WindowsSubsystemforLinux(WSL)成为提升效率的关键手段。然而,这个过程并非一帆风顺,尤其是在配置网络和服务时可能遇到诸多挑战。本文将结合实际操作经验,详细解
- 常见的Python框架--matplotlib
我有颗小粒的痣
Pythonpythonmatplotlib
matplotlib获取方法:https://matplotlib.org/users/installing.html#building-on-linuxsudoapt-getinstallpython-matplotlib#python2.sudoapt-getinstallpython3-matplotlib#python3.简介用于数据可视化#easyexampleimportmatplot
- 读写锁 优先级 linux,详谈Linux操作系统的三种状态的读写锁
hikhannah
读写锁优先级linux
读写锁是另一种实现线程间同步的方式。与互斥量类似,但读写锁将操作分为读、写两种方式,可以多个线程同时占用读模式的读写锁,这样使得读写锁具有更高的并行性。读写锁的特性为:写独占,读共享;写锁优先级高。对于读写锁,掌握了这12个字就足矣了。Linux环境下,读写锁具有以下三种状态:读模式下加锁状态(读锁)写模式下加锁状态(写锁)不加锁状态虽然读写锁有读锁、写锁、不加锁三种状态,但其实它只有一把锁,而非
- 阿里云ESC windws服务器部署springboot+vue前后端分离项目
溫冬''123
项目部署springboot阿里云服务器
window服务器部署springboot+vue项目前期准备:1、完整的项目源码我这里的项目前端是vue,后端是springboot+redis+mysql2、服务器我使用的是阿里云的ESC服务器(偷偷告诉你们,新手都可以白嫖一个月的服务器)服务器系统是windows至于我为什么不用linux,害别说了,新手还是先用window先吧。3、服务器环境搭建我们部署项目需要搭建项目的环境,其实仔细想想
- tomcat基础与部署发布
暗黑小菠萝
Tomcat java web
从51cto搬家了,以后会更新在这里方便自己查看。
做项目一直用tomcat,都是配置到eclipse中使用,这几天有时间整理一下使用心得,有一些自己配置遇到的细节问题。
Tomcat:一个Servlets和JSP页面的容器,以提供网站服务。
一、Tomcat安装
安装方式:①运行.exe安装包
&n
- 网站架构发展的过程
ayaoxinchao
数据库应用服务器网站架构
1.初始阶段网站架构:应用程序、数据库、文件等资源在同一个服务器上
2.应用服务和数据服务分离:应用服务器、数据库服务器、文件服务器
3.使用缓存改善网站性能:为应用服务器提供本地缓存,但受限于应用服务器的内存容量,可以使用专门的缓存服务器,提供分布式缓存服务器架构
4.使用应用服务器集群改善网站的并发处理能力:使用负载均衡调度服务器,将来自客户端浏览器的访问请求分发到应用服务器集群中的任何
- [信息与安全]数据库的备份问题
comsci
数据库
如果你们建设的信息系统是采用中心-分支的模式,那么这里有一个问题
如果你的数据来自中心数据库,那么中心数据库如果出现故障,你的分支机构的数据如何保证安全呢?
是否应该在这种信息系统结构的基础上进行改造,容许分支机构的信息系统也备份一个中心数据库的文件呢?
&n
- 使用maven tomcat plugin插件debug关联源代码
商人shang
mavendebug查看源码tomcat-plugin
*首先需要配置好'''maven-tomcat7-plugin''',参见[[Maven开发Web项目]]的'''Tomcat'''部分。
*配置好后,在[[Eclipse]]中打开'''Debug Configurations'''界面,在'''Maven Build'''项下新建当前工程的调试。在'''Main'''选项卡中点击'''Browse Workspace...'''选择需要开发的
- 大访问量高并发
oloz
大访问量高并发
大访问量高并发的网站主要压力还是在于数据库的操作上,尽量避免频繁的请求数据库。下面简
要列出几点解决方案:
01、优化你的代码和查询语句,合理使用索引
02、使用缓存技术例如memcache、ecache将不经常变化的数据放入缓存之中
03、采用服务器集群、负载均衡分担大访问量高并发压力
04、数据读写分离
05、合理选用框架,合理架构(推荐分布式架构)。
- cache 服务器
小猪猪08
cache
Cache 即高速缓存.那么cache是怎么样提高系统性能与运行速度呢?是不是在任何情况下用cache都能提高性能?是不是cache用的越多就越好呢?我在近期开发的项目中有所体会,写下来当作总结也希望能跟大家一起探讨探讨,有错误的地方希望大家批评指正。
1.Cache 是怎么样工作的?
Cache 是分配在服务器上
- mysql存储过程
香水浓
mysql
Description:插入大量测试数据
use xmpl;
drop procedure if exists mockup_test_data_sp;
create procedure mockup_test_data_sp(
in number_of_records int
)
begin
declare cnt int;
declare name varch
- CSS的class、id、css文件名的常用命名规则
agevs
JavaScriptUI框架Ajaxcss
CSS的class、id、css文件名的常用命名规则
(一)常用的CSS命名规则
头:header
内容:content/container
尾:footer
导航:nav
侧栏:sidebar
栏目:column
页面外围控制整体布局宽度:wrapper
左右中:left right
- 全局数据源
AILIKES
javatomcatmysqljdbcJNDI
实验目的:为了研究两个项目同时访问一个全局数据源的时候是创建了一个数据源对象,还是创建了两个数据源对象。
1:将diuid和mysql驱动包(druid-1.0.2.jar和mysql-connector-java-5.1.15.jar)copy至%TOMCAT_HOME%/lib下;2:配置数据源,将JNDI在%TOMCAT_HOME%/conf/context.xml中配置好,格式如下:&l
- MYSQL的随机查询的实现方法
baalwolf
mysql
MYSQL的随机抽取实现方法。举个例子,要从tablename表中随机提取一条记录,大家一般的写法就是:SELECT * FROM tablename ORDER BY RAND() LIMIT 1。但是,后来我查了一下MYSQL的官方手册,里面针对RAND()的提示大概意思就是,在ORDER BY从句里面不能使用RAND()函数,因为这样会导致数据列被多次扫描。但是在MYSQL 3.23版本中,
- JAVA的getBytes()方法
bijian1013
javaeclipseunixOS
在Java中,String的getBytes()方法是得到一个操作系统默认的编码格式的字节数组。这个表示在不同OS下,返回的东西不一样!
String.getBytes(String decode)方法会根据指定的decode编码返回某字符串在该编码下的byte数组表示,如:
byte[] b_gbk = "
- AngularJS中操作Cookies
bijian1013
JavaScriptAngularJSCookies
如果你的应用足够大、足够复杂,那么你很快就会遇到这样一咱种情况:你需要在客户端存储一些状态信息,这些状态信息是跨session(会话)的。你可能还记得利用document.cookie接口直接操作纯文本cookie的痛苦经历。
幸运的是,这种方式已经一去不复返了,在所有现代浏览器中几乎
- [Maven学习笔记五]Maven聚合和继承特性
bit1129
maven
Maven聚合
在实际的项目中,一个项目通常会划分为多个模块,为了说明问题,以用户登陆这个小web应用为例。通常一个web应用分为三个模块:
1. 模型和数据持久化层user-core,
2. 业务逻辑层user-service以
3. web展现层user-web,
user-service依赖于user-core
user-web依赖于user-core和use
- 【JVM七】JVM知识点总结
bit1129
jvm
1. JVM运行模式
1.1 JVM运行时分为-server和-client两种模式,在32位机器上只有client模式的JVM。通常,64位的JVM默认都是使用server模式,因为server模式的JVM虽然启动慢点,但是,在运行过程,JVM会尽可能的进行优化
1.2 JVM分为三种字节码解释执行方式:mixed mode, interpret mode以及compiler
- linux下查看nginx、apache、mysql、php的编译参数
ronin47
在linux平台下的应用,最流行的莫过于nginx、apache、mysql、php几个。而这几个常用的应用,在手工编译完以后,在其他一些情况下(如:新增模块),往往想要查看当初都使用了那些参数进行的编译。这时候就可以利用以下方法查看。
1、nginx
[root@361way ~]# /App/nginx/sbin/nginx -V
nginx: nginx version: nginx/
- unity中运用Resources.Load的方法?
brotherlamp
unity视频unity资料unity自学unityunity教程
问:unity中运用Resources.Load的方法?
答:Resources.Load是unity本地动态加载资本所用的方法,也即是你想动态加载的时分才用到它,比方枪弹,特效,某些实时替换的图像什么的,主张此文件夹不要放太多东西,在打包的时分,它会独自把里边的一切东西都会集打包到一同,不论里边有没有你用的东西,所以大多数资本应该是自个建文件放置
1、unity实时替换的物体即是依据环境条件
- 线段树-入门
bylijinnan
java算法线段树
/**
* 线段树入门
* 问题:已知线段[2,5] [4,6] [0,7];求点2,4,7分别出现了多少次
* 以下代码建立的线段树用链表来保存,且树的叶子结点类似[i,i]
*
* 参考链接:http://hi.baidu.com/semluhiigubbqvq/item/be736a33a8864789f4e4ad18
* @author lijinna
- 全选与反选
chicony
全选
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>全选与反选</title>
- vim一些简单记录
chenchao051
vim
mac在/usr/share/vim/vimrc linux在/etc/vimrc
1、问:后退键不能删除数据,不能往后退怎么办?
答:在vimrc中加入set backspace=2
2、问:如何控制tab键的缩进?
答:在vimrc中加入set tabstop=4 (任何
- Sublime Text 快捷键
daizj
快捷键sublime
[size=large][/size]Sublime Text快捷键:Ctrl+Shift+P:打开命令面板Ctrl+P:搜索项目中的文件Ctrl+G:跳转到第几行Ctrl+W:关闭当前打开文件Ctrl+Shift+W:关闭所有打开文件Ctrl+Shift+V:粘贴并格式化Ctrl+D:选择单词,重复可增加选择下一个相同的单词Ctrl+L:选择行,重复可依次增加选择下一行Ctrl+Shift+L:
- php 引用(&)详解
dcj3sjt126com
PHP
在PHP 中引用的意思是:不同的名字访问同一个变量内容. 与C语言中的指针是有差别的.C语言中的指针里面存储的是变量的内容在内存中存放的地址 变量的引用 PHP 的引用允许你用两个变量来指向同一个内容 复制代码代码如下:
<?
$a="ABC";
$b =&$a;
echo
- SVN中trunk,branches,tags用法详解
dcj3sjt126com
SVN
Subversion有一个很标准的目录结构,是这样的。比如项目是proj,svn地址为svn://proj/,那么标准的svn布局是svn://proj/|+-trunk+-branches+-tags这是一个标准的布局,trunk为主开发目录,branches为分支开发目录,tags为tag存档目录(不允许修改)。但是具体这几个目录应该如何使用,svn并没有明确的规范,更多的还是用户自己的习惯。
- 对软件设计的思考
e200702084
设计模式数据结构算法ssh活动
软件设计的宏观与微观
软件开发是一种高智商的开发活动。一个优秀的软件设计人员不仅要从宏观上把握软件之间的开发,也要从微观上把握软件之间的开发。宏观上,可以应用面向对象设计,采用流行的SSH架构,采用web层,业务逻辑层,持久层分层架构。采用设计模式提供系统的健壮性和可维护性。微观上,对于一个类,甚至方法的调用,从计算机的角度模拟程序的运行情况。了解内存分配,参数传
- 同步、异步、阻塞、非阻塞
geeksun
非阻塞
同步、异步、阻塞、非阻塞这几个概念有时有点混淆,在此文试图解释一下。
同步:发出方法调用后,当没有返回结果,当前线程会一直在等待(阻塞)状态。
场景:打电话,营业厅窗口办业务、B/S架构的http请求-响应模式。
异步:方法调用后不立即返回结果,调用结果通过状态、通知或回调通知方法调用者或接收者。异步方法调用后,当前线程不会阻塞,会继续执行其他任务。
实现:
- Reverse SSH Tunnel 反向打洞實錄
hongtoushizi
ssh
實際的操作步驟:
# 首先,在客戶那理的機器下指令連回我們自己的 Server,並設定自己 Server 上的 12345 port 會對應到幾器上的 SSH port
ssh -NfR 12345:localhost:22
[email protected]
# 然後在 myhost 的機器上連自己的 12345 port,就可以連回在客戶那的機器
ssh localhost -p 1
- Hibernate中的缓存
Josh_Persistence
一级缓存Hiberante缓存查询缓存二级缓存
Hibernate中的缓存
一、Hiberante中常见的三大缓存:一级缓存,二级缓存和查询缓存。
Hibernate中提供了两级Cache,第一级别的缓存是Session级别的缓存,它是属于事务范围的缓存。这一级别的缓存是由hibernate管理的,一般情况下无需进行干预;第二级别的缓存是SessionFactory级别的缓存,它是属于进程范围或群集范围的缓存。这一级别的缓存
- 对象关系行为模式之延迟加载
home198979
PHP架构延迟加载
形象化设计模式实战 HELLO!架构
一、概念
Lazy Load:一个对象,它虽然不包含所需要的所有数据,但是知道怎么获取这些数据。
延迟加载貌似很简单,就是在数据需要时再从数据库获取,减少数据库的消耗。但这其中还是有不少技巧的。
二、实现延迟加载
实现Lazy Load主要有四种方法:延迟初始化、虚
- xml 验证
pengfeicao521
xmlxml解析
有些字符,xml不能识别,用jdom或者dom4j解析的时候就报错
public static void testPattern() {
// 含有非法字符的串
String str = "Jamey친ÑԂ
- div设置半透明效果
spjich
css半透明
为div设置如下样式:
div{filter:alpha(Opacity=80);-moz-opacity:0.5;opacity: 0.5;}
说明:
1、filter:对win IE设置半透明滤镜效果,filter:alpha(Opacity=80)代表该对象80%半透明,火狐浏览器不认2、-moz-opaci
- 你真的了解单例模式么?
w574240966
java单例设计模式jvm
单例模式,很多初学者认为单例模式很简单,并且认为自己已经掌握了这种设计模式。但事实上,你真的了解单例模式了么。
一,单例模式的5中写法。(回字的四种写法,哈哈。)
1,懒汉式
(1)线程不安全的懒汉式
public cla