- pthreadjoin 线程退出 线程堆栈未释放 linux,linux线程——pthread_exit()与pthread_join()...
weixin_39846364
pthreadjoin线程退出线程堆栈未释放linux
一、pthread_exit()函数简介:头文件:#include函数定义:voidpthread_exit(void*retval);描述:线程通过这个函数来终止执行,就如同进程在结束时候调用exit函数一样。这个函数的作用是终止调用它的线程,并且返回一个指向某个对象的指针。由于一个进程中的多个线程是共享数据段的,因此通常在线程自己调用pthread_exit函数推出以后,退出线程所占用的资源并
- php linux 常用命令,Linux常用命令大全
潘儒锋
phplinux常用命令
Linux常用命令大全,以前收集的系统信息arch显示机器的处理器架构(1)uname-m显示机器的处理器架构(2)uname-r显示正在使用的内核版本dmidecode-q显示硬件系统部件-(SMBIOS/DMI)hdparm-i/dev/hda罗列一个磁盘的架构特性hdparm-tT/dev/sda在磁盘上执行测试性读取操作cat/proc/cpuinfo显示CPUinfo的信息cat/pro
- linux操作命令comm,史上最全的Linux常用命令
云小牙
linux操作命令comm
系统信息arch显示机器的处理器架构(1)uname-m显示机器的处理器架构(2)uname-r显示正在使用的内核版本dmidecode-q显示硬件系统部件-(SMBIOS/DMI)hdparm-i/dev/hda罗列一个磁盘的架构特性hdparm-tT/dev/sda在磁盘上执行测试性读取操作cat/proc/cpuinfo显示CPUinfo的信息cat/proc/interrupts显示中断c
- 如何在 Linux 上安装 C 和 GCC 编译器?
新华
编程C语言教程linuxc语言
概述Linux是一组开源的类UNIX操作系统,Ubuntu是一种基于Linux的操作系统,通常用于运行基于Linux的应用程序。要在Linux上安装C并在Ubuntu上构建和运行C程序文件,我们需要安装GCC编译器。在Ubuntu存储库中,GCC编译器是我们需要安装的构建基本包的一部分。我们知道在Linux上安装C语言可能看起来令人生畏,但不要担心;我们已经为您提供了分步指南!在Linux中使用终
- Linux 权限体系详解:、777、755、644、600、chmod、chown、chgrp 和 umask;SUID、SGID 和 Sticky Bit;ACL (访问控制列表) 是什么?
小胡说技书
手册/开发图谱运维linux运维服务器
文章目录1.引言1.1为什么学习Linux权限?1.2本文目标2.Linux权限基础概念2.1权限模型2.2权限类型2.3权限表示法2.3.1字母表示法2.3.2数字表示法2.3.3字母与数字表示法对比2.3.4案例:字母与数字的权限切换3.常见权限分配方法对比表格3.1使用`chmod`分配权限3.2使用`chown`和`chgrp`修改拥有者和用户组3.3使用`umask`设置默认权限4.高级
- ARM架构参考手册(ARMv7-A和ARMv7-R版)
童伶影Bertha
ARM架构参考手册(ARMv7-A和ARMv7-R版)【下载地址】ARM架构参考手册ARMv7-A和ARMv7-R版分享ARMv7-A和ARMv7-R架构是ARM处理器家族中的关键成员,广泛应用于智能手机、嵌入式系统、汽车电子和实时操作系统等领域的高性能计算设备中。A系列面向应用程序处理器,支持丰富的操作系统如Android和Linux;而R系列则专为实时系统设计,保证了高可靠性和响应速度项目地址
- 【Linux】APT 密钥管理迁移指南:有效解决 apt-key 弃用警告
丶2136
运维#linuxlinux数据库服务器
引言随着Debian11和Ubuntu22.04版本的推出,APT的密钥管理方式发生了重大的变化。apt-key命令被正式弃用,新的密钥管理机制要求使用/etc/apt/keyrings/或/etc/apt/trusted.gpg.d/来存储和管理密钥。这一变化对管理员和普通用户来说至关重要,特别是当通过aptupdate或aptupgrade执行系统更新时,可能会遇到关于apt-key弃用的警告
- 全网最详细Gradio教程系列2——Gradio的安装与运行
龙焰智能
Gradio全解教程Gradio安装运行热重载
全网最详细Gradio教程系列2——Gradio的安装与运行前言实战导论:2.Gradio的安装与运行2.1安装2.1.1Windows安装Gradio2.1.2MacOS/Linux安装Gradio2.2运行2.2.1普通方式运行2.2.2热重载运行2.2.2.1命令行式热重载2.2.2.2Notebook热重载2.2.2.3控制热重载参考文献前言本系列文章主要介绍WEB界面工具Gradio。G
- 嵌入式专业英语(第二周)
佩佩(@ 。 @)
c语言linux
在第一周的基础上增加一、学预科准备、linux基础接触的专业英文、知识点Crack:破解,裂开virtualmachine:虚拟机terminal:终端,站台Permissiondenied:权限不允许password:密码remove:删除regular:普通的empty:空的directory:目录、路径、文件夹名cannot:不能necessary:必须的catch:抓取omitting:省
- Kafka后台启动命令
费曼乐园
kafkakafka
#保存日志nohup./kafka-server-start.sh../config/server.properties>/path/to/logfile.log2>&1不保存日志nohup./kafka-server-start.sh../config/server.properties>/dev/null2>&1&nohup:是一个Unix/Linux命令,用于运行一个命令并忽略挂断(ha
- 嵌入式驱动开发详解10(MISC杂项实现)
嵌入~狮
Linux驱动驱动开发
文章目录前言MISC设备驱动简介重要结构体API函数MISC实现框架后续参考文献前言MISC驱动也叫做杂项驱动,也就是当我们板子上的某些外设无法进行分类的时候就可以使用MISC驱动。MISC驱动其实就是最简单的字符设备驱动,通常嵌套在platform总线驱动中,MISC设备驱动简介所有的MISC设备驱动的主设备号都为10,不同的设备使用不同的从设备号。随着Linux字符设备驱动的不断增加,设备号变
- 搭建k8s集群
zhen24
kubernetes容器云原生
一、准备工作(所有节点)在开始部署之前,我们需要对所有节点进行以下准备工作。1.1、关闭防火墙#关闭防火墙systemctlstopfirewalld#禁止防火墙开机自启systemctldisablefirewalld1.2、关闭SELinux#永久关闭SELinuxsed-i's/enforcing/disabled/'/etc/selinux/config#重启系统使更改生效reboot#临
- [Linux 基础] -- 内核探究:regmap 机制
BestW2Y
Linux基础linuxregmap
前言:regmap机制是在Linux3.1加入的新特性。主要目的是减少I/O驱动上的重复逻辑代码,提供一种通用的接口来操作底层硬件上的寄存器。比如,之前如果要操作i2c设备的寄存器,我们要调用i2c_transfer接口,要操作spi设备的寄存器,就要调用spi_write/spi_read等接口,如果把它们抽象为regmap结构,那么只要调用regmap_read/regmap_write就可以
- icm20608 linux驱动 regmap spi的方式读写寄存器
Embedded-Alien
linuxkernellinuxdriverarmlinux
开发版芯片imx6ull驱动测量了系统调用read10000次的时间验证了开启硬件浮点和不开启硬件浮点的运算浮点数时间基本相同1.驱动代码#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#in
- Linux 存储设备和 Ventoy 启动盘制作指南
小白也有IT梦
linux运维服务器
一、Linux存储设备基础知识1.设备路径(/dev)设备路径是Linux系统中物理存储设备的唯一标识,类似设备的"身份证号"。命名规则解析/dev/sda:/dev:device(设备)的缩写,存放设备文件的目录sd:源自SCSIdevice,现在用于表示存储设备a:表示第一个检测到的存储设备数字(如sda1):表示该设备上的分区编号2.挂载点与挂载过程挂载点是访问存储设备内容的入口,本质是一个
- 在VSCode中更改专用终端的Conda环境
小白也有IT梦
pythonvscode
步骤打开VSCode:启动VSCode并打开你需要的工作目录。打开命令面板:使用快捷键Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS)打开命令面板。选择Conda环境:在命令面板中输入Python:SelectInterpreter并选择该选项。在出现的列表中选择你需要的Conda环境。这个步骤会改变当前工作目录下Python解释器的环境。打开终端:使用
- 如何查看和终止正在运行的Python进程
weixin_48705841
python开发语言
如何查看和终止正在运行的Python进程无论是在开发过程中测试脚本,还是在生产环境中运行数据分析任务,了解如何查看和控制正在运行的Python进程对于维护系统状态和资源利用率至关重要。本文将介绍在两个主要操作平台(Unix/Linux/macOS和Windows)上执行这些任务的方法。在Unix/Linux/macOS上查看Python进程打开你的终端应用程序。输入以下命令并执行:ps-ef|gr
- RK3568笔记七十六:使用V4L2框架录制MP4视频保存到本地
殷忆枫
RK3568学习笔记笔记
若该文为原创文章,转载请注明原文出处。录制MP4使用的是ffmpeg,如何编译自行处理。使用的是正点原子的RK3568测试,其他板子自行调试。一、程序功能介绍说明:程序参考FFMPEG提供的例子程序muxing.c进行修改。功能介绍:程序里目前有一个子线程和一个主线程,子线程通过linux标准的V4L2框架读取摄像头数据(NV12);然后把NV12数据转换为YUV420P格式(H264必须使用该格
- archlinux安裝手记(Win10+Arch、GPT+UEFI、lvm)
weixin_30481087
操作系统运维php
目录准备工作工具和必要技能分区和挂载分区建立和格式化分区挂载基础安装配置镜像源连接网络安装基础系统建立fstab文件进入系统激活lvm2钩子用户管理设置时区主机名网络配置系统引导系统配置图形界面显卡驱动桌面环境/窗口管理器字体中文本地化声音软件包管理器pacmanAUR和yaourt设备连接触摸板蓝牙NTFS分区U盘和MTP设备其他配置(问题解决)选择grub为第一启动项无法启动图形界面非root
- 【Springboot】——响应与分层解耦架构
Y小夜
架构springboot后端javaspring
博主现有专栏:C51单片机(STC89C516),c语言,c++,离散数学,算法设计与分析,数据结构,Python,Java基础,MySQL,linux,基于HTML5的网页设计及应用,Rust(官方文档重点总结),jQuery,前端vue.js,Javaweb开发,设计模式、Python机器学习、Springboot等主页链接:Y小夜-CSDN博客目录响应响应数据✨@ResponseBody✨G
- 2021-2022毕业一年工作总结--华为外包VRP自动化测试
爱吃水果蝙蝠汤
工作经历项目经历华为ruby网络协议
工作介绍设备是NE9000城域路由器。测试对象是VRPv8产品大包。测试语言是RUBY、TCL对应的软件分别是impeller、GTR。测试场景有很多e下、vxlan下、bgp、isis、ospf基础组网下、srv6等需要vrrp、bfd、frr备份的场景,都是现网常用的。自动化实现是在欧拉linux上,自动化还需要一些工具,常用的有用例管理、日志系统、度量系统、设备管理。工作日常早上过来,停下自
- linux运维--常用命令
神慕蔡蔡
linux运维基础linux运维
linux基础命令笔记01解藕whatwherewhenwhichwhy运维开发工程师开发运维工具history!n:查看执行!-n:查看执行倒数命令ctrl+r:搜索tab#包:[root@clq~]#rpm-qa|grepbash-combash-completion-2.7-5.el8.noarch#命令补全:[root@clq~]#whwhatiswhereiswhichwhilewhip
- 自动化测试框架:DrissionPage
研创通之逍遥峰
开源工具自动化爬虫
一、工具概述DrissionPage是一个基于python的网页自动化工具。它既能控制浏览器,也能收发数据包,还能把两者合而为一。可兼顾浏览器自动化的便利性和requests的高效率。它功能强大,内置无数人性化设计和便捷功能。它的语法简洁而优雅,代码量少,对新手友好。支持Windows、Linux和Mac系统,满足不同用户的需求;需要Python3.6或更高版本,确保了代码的现代性和兼容性;支持所
- Linux日常运维-history
dessler
Linux进阶#Linux日常运维运维linux服务器
作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注作者,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。本小章内容就是Linux进阶部分的日常运维部分,掌握这些日常运维技巧或者方法在我们的日常运维过程中会带来很多方便。主要从以下几个部分来讲解:Linux日常运维-主机名&hostsLinux日常运维-history(本章节)Linux日常运维-SSHD(一)Linux日常运维-S
- 深入探究 Linux 系统的快照备份与恢复:TimeShift 实践与原理解析
运维の小LIAN
5.2其他-问题总结linux运维服务器备份
文章目录前言一、TimeShift的工作原理二、TimeShift的备份方式优缺点对比:三、TimeShift的安装和配置四、TimeShift的实际操作流程1.创建系统快照2.查看已创建的快照3.删除旧快照4.还原快照五、TimeShift快照操作步骤1.设置备份目标目录2.自定义备份和排除目录3.开始备份操作4.还原到指定快照5.测试TimeShift备份还原的效果1.备份前的系统状态2.安装
- ARM架构下安装新版docker及docker-compose
运维小弟| srebro.cn
docker架构docker容器
一、常见CPU架构:二、环境信息CPU架构操作系统配置HUAWEIKunpeng9205220aarch64openEuler22.03(LTS-SP3)64C128g15T三、安装docker3.1二进制包下载docker-ce社区下载地址:wgethttps://mirrors.nju.edu.cn/docker-ce/linux/static/stable/aarch64/docker-27
- 【过程记录】windows安装triton
靠才华吃土
过程记录pip
windows安装triton记录问题原因解决办法问题在执行pipinstalltriton=2.0.0的时候遇到报错:没有对应的版本原因triton只适用于Linux操作系统,对于Windows不适用,需要做相应的转换解决办法下载对应的.whl文件triton-2.0.0-cp310-cp310-win_amd64.whl地址:https://github.com/PrashantSaikia/
- Ubuntu32/64位arm/aarch64交叉编译总结
新潮技术研究社
linux开源项目百万案例之路生活有技术armarm开发嵌入式硬件交叉编译
交叉编译,做过Linux的同学应该都不陌生,经常见到的,就是,我的电脑上有一个VMwareUbuntu的虚拟机,然后在Ubuntu系统下,我要将程序移植到某个arm的板子上,就是放到板子上去运行,譬如,放到手机上运行,放到平板上运行,只不过有些平板的系统也是Ubuntu,不是所有的平板都是Android的嘛,还有苹果系统,华为系统,WinCE,无界面系统等等。这时候,有几种方式将程序放到目标设备上
- Docker部署minio-arm64版本,阿里官方推荐
m0_60721649
2024年程序员学习docker服务器阿里云
一、下载minio下载地址:https://dl.min.io/server/minio/release/linux-arm64/二、创建minio目录//启动目录mkdir/data/minio//bin//配置目录mkdir/data/minio/etc//数据mkdir/data/minio/data三、上传文件将下载好的minio文件到/usr/local/minio/bin目录下四、在目
- Docker部署minio-arm64版本
GSL_566
arm-docker部署docker容器运维
一、下载minio下载地址:https://dl.min.io/server/minio/release/linux-arm64/二、创建minio目录//启动目录mkdir/data/minio//bin//配置目录mkdir/data/minio/etc//数据mkdir/data/minio/data三、上传文件将下载好的minio文件到/usr/local/minio/bin目录下四、在目
- 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