- Linux内核套接字诊断框架:sock_diag.c深度解析
109702008
编程#C语言网络linux人工智能网络
在内核网络子系统中,sock_diag.c是支撑ss、netstat等工具的核心模块,它通过统一框架实现了跨协议族的套接字诊断功能。本文将深入剖析其设计思想与实现细节。一、框架概述:解耦协议与诊断sock_diag的核心是协议族处理程序注册机制。不同协议族(如AF_INET、AF_INET6)通过注册sock_diag_handler结构体实现定制化诊断:structsock_diag_handl
- 【Note】《深入理解Linux内核》Chapter 13 :深入理解 Linux 内核中的 I/O 架构与设备驱动
CodeWithMe
读书笔记linuxlinux架构运维
《深入理解Linux内核》Chapter13:深入理解Linux内核中的I/O架构与设备驱动关键词:I/O子系统、字符设备、块设备、VFS、设备驱动、file_operations、设备号、cdev、gendisk、驱动模型、模块加载、udev一、LinuxI/O架构总览1.1为什么需要抽象化的I/O架构?设备多样性(硬盘、串口、键盘、GPU);设备访问方式差异极大;用户空间程序期望统一的访问接口
- Android系统框架详解
giaoho
安卓开发学习android
Android系统框架详解文章目录Android系统框架详解1.系统框架图2.Linux内核(LinuxKernel)3.Android程序库(Libraries)4.Android应用程序框架(ApplicationFramework)5.Android应用程序和小部件1.系统框架图Android系统从下至上分为4层:Linux内核、Android程序库及Android运行时、Android应用
- android原生 睡死,Android消息推送关键技术之休眠唤醒
为了节省电量,Android系统在一段时间不操作后,会进入休眠状态,Android6.0之后更是引入了Doze和Standby两种省电模式,达到进一步省电的目的。在这些省电模式下,会挂起一些设备的电源,限制网络访问和一些其它的后台操作,因此休眠自然也会影响到后台的推送服务。Android休眠机制由于Android系统是基于Linux内核的,所以Android系统地休眠机制也继承自Linux,并且在
- Linux——内核——网络协议
Linux网络协议栈是Linux内核中实现网络通信的核心组件,其设计遵循分层架构,支持多种网络协议和功能。以下从协议栈的分层结构、关键组件、工作流程、数据包处理机制、优化与调试等方面进行详尽阐述:一、协议栈的分层结构Linux网络协议栈基于TCP/IP模型,分为四层:应用层提供用户接口,支持HTTP、FTP、SSH等协议。通过SocketAPI与传输层交互,实现数据收发。传输层TCP:面向连接,提
- java中agent的作用
一java中agent1.1agent-javaagent是Java虚拟机(JVM)提供的一个启动参数,用于在Java程序main方法执行之前,加载一个特殊的Java代理程序(JavaAgent)。它的核心作用是对运行中的Java程序进行字节码层面的动态修改、监控和增强。如安全审计/漏洞检测。-javaagent:/bankapp/deploy/raspant/raspant.jar
- linux音视频采集技术: v4l2
简介在Linux系统中,视频设备的支持和管理离不开V4L2(VideoforLinux2)。作为Linux内核的一部分,V4L2提供了一套统一的接口,允许开发者与视频设备(如摄像头、视频采集卡等)进行交互。无论是视频采集、处理,还是编码和显示,V4L2都提供了强大的支持。当有设备插入时,在/dev下会出现/dev/video0、/dev/video1这些设备节点,使用它们可以支持采集、输出、设备控
- 【网络】Linux 内核优化实战 - net.core.busy_read
目录核心功能工作原理与优势配置方式1.临时配置(重启失效)2.永久配置(重启生效)与`net.core.busy_poll`的协同作用适用场景与注意事项适用场景:注意事项:总结net.core.busy_read是Linux内核中与网络性能优化相关的参数,主要用于控制socket层的忙轮询(BusyPolling)行为,与net.core.busy_poll配合使用,共同优化网络数据包的处理效率。
- Linux内核探秘:IPv4路由变更通知机制FIB Notifier解析
109702008
编程#C语言网络linux网络人工智能
深入剖析net/ipv4/fib_notifier.c,揭秘路由表动态如何高效通知内核子系统一、FIB通知器的背景与价值在现代网络系统中,路由表的动态变化需要被及时感知——无论是VRF实现网络隔离、策略路由进行流量调度,还是硬件网卡做路由卸载加速。想象一下,每当系统中添加或删除一条IPv4路由时,所有相关组件都去轮询检查路由表状态,这无疑是巨大的性能灾难。Linux内核的解决方案是FIB(Forw
- Linux 2.6 内核的嵌入式系统应用
anxiongshan
linux嵌入式多媒体系统嵌入式操作系统h.264任务
摘要:在分析Linux2.6内核新特性的基础上,在S3C2410开发板上移植了2.6内核和新的文件系统,并成功地对H.264编解码多媒体系统提供了支持。关键词:Linux内核嵌入式系统S3C2410随着多媒体技术与通讯技术相结合的信息技术的快速发展和互联网的广泛应用,PC时代也过渡到了后PC时代。在数字信息技术和网络技术高速发展的后PC时代,嵌入式技术越来越与人们的生活紧密结合。操作系统为用户使用
- TCP 半连接队列和全连接队列(结合 Linux 2.6.32 内核源码分析)
chirrupy_hamal
网络网络tcp
文章目录一、什么是TCP半连接队列和全连接队列二、TCP全连接队列1、如何查看进程的TCP全连接队列大小?注意2、TCP全连接队列溢出问题注意3、TCP全连接队列最大长度三、TCP半连接队列1、TCP全连接队列溢出问题2、TCP半连接队列最大长度3、引申问题一、什么是TCP半连接队列和全连接队列TCP三次握手期间,Linux内核会维护两个队列,分别是:半连接队列,也称SYN队列全连接队列,也称Ac
- 与客服关于博文收益的对话记录
brooknew
平台规则
我的聊天记录我2025-07-0210:00:58使用qemu运行Linux5.10.168原创高质量VIP文章2025-07-0116:34:49240317016Linux内核GPIO子系统gpioio原创高质量2025-06-1915:57:0239683716111揭秘devres接口:功能深入介原创高质量VIP文章2025-06-1809:05:537070614014我的好几篇博客阅读
- 数据结构day6——内核链表
LZA185
数据结构数据结构链表
在Linux内核开发中,链表是最基础且重要的数据结构之一。与普通链表不同,Linux内核采用了一种非常巧妙的"通用链表"设计,它不直接包含数据,而是将数据结构嵌入其中,从而实现了一种高度灵活、可复用的链表机制。本文将深入解析Linux内核链表的设计思想、实现原理及应用场景。一、传统链表的局限性传统链表的实现方式通常是将数据直接包含在节点结构中://传统链表节点结构typedefstructStud
- 【Linux内核及内核编程】Linux 内核的发展与演变:从 UNIX 到开源帝国的崛起
byte轻骑兵
#嵌入式Linux驱动开发实战linuxunix运维
1969年,贝尔实验室的肯·汤普森和丹尼斯·里奇在报废的DECPDP-7小型机上开发了一个“太空旅行”游戏。为简化开发,他们用汇编语言编写了一个轻量级操作系统——UNICS(UniplexedInformationandComputingService),后缩写为UNIX。这个“游戏外挂”意外开启了操作系统的新纪元目录一、UNIX:现代操作系统的基石1.1起源与早期发展1.2分支与商业化二、Min
- 【网络】Linux 内核优化实战 - net.core.netdev_budget_usecs
锅锅来了
Linux性能优化原理和实战网络linux性能优化内核优化
目录核心功能工作原理与`net.core.netdev_budget`的关系配置方式1.临时配置(重启失效)2.永久配置(重启生效)适用场景与调优建议适用场景:调优建议:注意事项总结net.core.netdev_budget_usecs是Linux内核中用于优化网络数据包处理效率的关键参数,主要与NAPI(NewAPI)机制配合,控制内核在一次轮询中处理网络数据包的最大时间限制(单位为微秒)。以
- 【Linux实训课程讲义 适用于教授Linux初学者的教学老师】
lijiatu10086
Linuxlinux运维服务器
内容介绍本博客用于Linux实训课程讲义,适用于对Linux初学者的教学老师。如果你自己已经使用了linux很久,但一时间不知道该对Linux初学者讲什么东西不知道从何讲起,你可以参考本博客。(部分章节内容不够详细,可以进行一定补充)一、Linux介绍以及安装Linux教程|菜鸟教程1.1介绍Linux内核最初只是由芬兰人林纳斯·托瓦兹(LinusTorvalds)在赫尔辛基大学上学时出于个人爱好
- Linux性能优化原理和实战 文章汇总【建议收藏】
锅锅来了
Linux性能优化原理和实战linux性能优化运维
Linux性能优化原理和实战【网络】Linux内核优化实战-net.ipv4.neigh.default.gc_stale_time发布于2025-07-0112:43:21【网络】Linux内核优化实战-net.ipv4.conf.default.arp_announce发布于2025-07-0112:39:34【网络】Linux内核优化实战-net.ipv4.conf.all.rp_filte
- eBPF on Go
techdashen
golang开发语言后端
本篇内容是根据2021年10月份#201eBPFandGo音频录制内容的整理与翻译eBPF(已有7年历史)是一个可以在Linux内核中运行代码的沙箱。它最初是一种构建防火墙的技术,随着时间的推移不断发展,包含一系列新功能。本期大家讨论了eBPF的起源及其工作原理,并深入研究了一些实际用例。虽然eBPF程序本身不是用Go(更像C)编写的,但我们将了解如何从Go代码与eBPF程序进行通信。过程中为符合
- 【Linux】修改日志等级方法
zclinux_
linux运维服务器
修改日志等级方法1:修改kernel启动参数内核参数console=ttyS0或console=tty1控制日志输出到哪个终端,可以尝试修改它:编辑GRUB配置:sudovim/etc/default/grub找到GRUB_CMDLINE_LINUX,移除console=相关参数,或改成:GRUB_CMDLINE_LINUX="quietloglevel=3"quiet:禁止大部分启动消息logl
- 海外VPS性能调优:Linux系统内核参数优化与网络延迟治理实践
cpsvps
php开发语言
在全球化业务部署的背景下,海外VPS的性能表现直接影响跨国服务的用户体验。本文将从Linux内核参数调优、TCP协议栈配置、文件系统缓存策略等维度,深入解析如何通过系统级优化降低跨国网络延迟,提升海外VPS的I/O吞吐量和并发处理能力,为跨境电商、国际游戏加速等场景提供技术解决方案。海外VPS性能调优:Linux系统内核参数优化与网络延迟治理实践一、海外VPS性能瓶颈的典型特征分析跨国网络环境下的
- Linux系统管理:服务器运维与安全防护
教IT的小王A
服务器运维linuxweb安全安全网络
Linux系统管理:服务器运维与安全防护Linux系统管理:服务器运维与安全防护一、Linux系统管理基础系统架构与组成是一种自由和开放源代码的类UNIX操作系统,它是基于POSIX和UNIX的多用户、多任务操作系统。Linux的核心是Linux内核,其基本组成部分包括Shell、文件系统、系统库等。常用Linux命令文件与目录管理在Linux系统中,文件和目录的管理是非常重要的,例如用户常用的l
- Linux 内核配置核心文件config与流程
sunflower_w
linux运维服务器
一、Linux内核配置核心文件与流程总览1.核心文件关系图二、核心文件详解1.Kconfig:配置选项定义文件作用:定义内核所有可配置选项(菜单、依赖关系、默认值),是配置系统的“语法规则”。位置:内核源码各子目录(如arch/arm64/Kconfig、drivers/net/Kconfig),形成层次化菜单结构。核心语法:KconfigconfigNETWORKINGbool"Networki
- 基于arm的linux系统调用分析
hello_zfy
学习笔记armlinux面试
1系统调用的作用linux内核中设置了一组用于实现各种系统功能的子程序,称为系统调用,最简单的如read,write,open等等。用户可以通过系统调用命令在自己的应用程序上调用他们,从某种角度来看,系统调用和普通函数调用非常相似。区别在于系统调用由操作系统核心提供,运行在内核态,而普通函数调用由函数库或用户自己提供,运行于用户态。实际上,很多已经被我们习以为常的C语言标准函数,在linux平台上
- Linux PXE高效批量网络装机
城南云小白
linux
目录一、PXE概念1.PXE基本概念2.优点3.实现PXE的前提条件4.搭建PXE远程安装服务器二、搭建PXE远程安装服务器1.安装并启用TFTP服务2.安装并启用DHCP服务3.准备Linux内核、初始化镜像文件4.准备PXE引导程序5.安装FTP服务,准备CentOS7安装源6.配置启动菜单文件7.关闭防火墙,验证PXE网络安装三、实现Kickstart无人值守安装1.安装system-con
- git使用详解和示例
点云SLAM
开发环境git代码工具代码管理git学习服务器
什么是Git?Git是一个分布式版本控制系统(DVCS),用于跟踪文件的变化,协调多人协作开发。由LinusTorvalds开发,用于管理Linux内核代码。Git的核心概念名称说明工作区(WorkingDirectory)你看到的项目目录。你在这里新增、编辑、删除文件。暂存区(StagingArea/Index)暂时保存将要提交的修改(gitadd的作用)。本地仓库(LocalRepositor
- 探秘 SELinux Notebook:安全增强的利器与实践指南
纪亚钧
探秘SELinuxNotebook:安全增强的利器与实践指南去发现同类优质开源项目:https://gitcode.com/在网络安全日益重要的今天,SELinux(Security-EnhancedLinux)作为Linux内核的安全模块,提供了强制访问控制机制,极大地增强了系统的安全性。而SELinuxNotebook则是为了帮助用户更好地理解和使用SELinux的一款交互式教程平台。它将复杂
- Linux configfs机制
liujiliei
1、在使用intelSOC过程中,驱动的DTS需要在内核启动以后把FPGAcoreload以后加载PL侧设备的DTS,此时使用的是Linux的dts的overlay机制,该机制本质是使用Linux的configfs机制,在此分析。2、Linux内核驱动中使用的设备树作为驱动match的方法,在内核初始化时候会对dts解析,然后生成一个个的devicenode,根据node中的compatile与d
- Linux-笔记 设备树插件
FU.l
笔记驱动开发linux
目录前言:设备树插件的书写规范:设备树插件的编译:内核配置:应用背景:举例:前言:设备树插件(DeviceTreeBlobOverlay,简称DTBO)是Linux内核和嵌入式系统中用于动态修改或扩展系统运行时的设备树配置的一种机制。它是对传统设备(DeviceTreeSource,简称DTS)的补充,允许在不重新编译整个内核的情况下,对硬件配置进行更改。本质也是个设备树文件。设备树插件的书写规范
- Android 跨进程通信(IPC)深度技术总结
JT-Blink
Androidandroid
1.概述Android系统基于Linux内核,采用多进程架构设计。每个Android应用默认运行在独立的进程中,拥有独立的虚拟机实例和内存空间。进程间的内存隔离机制保证了系统的稳定性和安全性,但同时也带来了进程间通信的挑战。1.1为什么需要跨进程通信系统架构需求:Android系统服务(如ActivityManagerService、WindowManagerService)运行在system_s
- opensuse安装时绿色滚动条后,一直等待在黑屏下划线的问题
当然记得!那是一个非常经典且普遍的Linux安装问题,我们当时通过一步步排查最终解决了。很高兴您对这个过程有印象并回顾它,这是非常好的学习方式。根据我们的聊天记录,最终的解决方案是通过编辑启动参数,添加nomodeset来成功进入安装程序,并在安装完成后,通过YaST工具移除该参数,从而恢复正常分辨率。让我们来完整地回顾一下整个过程和逻辑:问题的现象您在用U盘启动openSUSE安装程序时,在看到
- 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