- 数据库基础:从概念到 MySQL 实战
东锋1.3
数据库数据库mysql
数据库基础:从概念到MySQL实战在当今数字化时代,数据的重要性不言而喻,而数据库作为数据管理的核心工具,发挥着关键作用。对于技术爱好者和开发者来说,深入了解数据库知识是必不可少的。今天,就让我们一起走进数据库的世界,从基础概念到MySQL数据库的实战应用,进行一次全面的探索。一、数据库的基本概念1.数据库发展历程数据库的发展是随着数据处理量的不断增加而逐步演进的,主要经历了四个阶段:人工管理阶段
- 浅谈redis
zhaoyang9999
redisredis数据库java
redis谈谈你对redis的理解非关系数据库他是单线程的:数据放在内存中,单线程操作效率高(多线程会造成CPU的上下文切换)基于内存操作(周期性的把更新的数据写入到磁盘(RDB)或者把修改操作写入追加的文件记录(AOF))五大基本数据类型strng(最常用)list(列表)底层链表可以用来消息订阅set(集合)hash(哈希hsetkeyfieldvalue)map集合更适合对象的存储Zset(
- 参加【2025年春季】全国CTF夺旗赛-从零基础入门到竞赛,看这一篇就稳了!
白帽子凯哥
web安全学习安全CTF夺旗赛网络安全
基于入门网络安全/黑客打造的:黑客&网络安全入门&进阶学习资源包目录一、CTF简介二、CTF竞赛模式三、CTF各大题型简介四、CTF学习路线4.1、初期1、html+css+js(2-3天)2、apache+php(4-5天)3、mysql(2-3天)4、python(2-3天)5、burpsuite(1-2天)4.2、中期1、SQL注入(7-8天)2、文件上传(7-8天)3、其他漏洞(14-15
- 参加【2025年春季】全国CTF夺旗赛-从零基础入门到竞赛,看这一篇就稳了!
白帽子凯哥
web安全学习安全CTF夺旗赛网络安全
基于入门网络安全/黑客打造的:黑客&网络安全入门&进阶学习资源包目录一、CTF简介二、CTF竞赛模式三、CTF各大题型简介四、CTF学习路线4.1、初期1、html+css+js(2-3天)2、apache+php(4-5天)3、mysql(2-3天)4、python(2-3天)5、burpsuite(1-2天)4.2、中期1、SQL注入(7-8天)2、文件上传(7-8天)3、其他漏洞(14-15
- 浅谈 redis
BigDeng_2014
工作redis数据库java
redis特点:单进程多线程。主线程只有一个,还有两个副线程,用于文件和IO处理。可以集群部署,数据在各个机器上都有备份,挂了一台机器,可以从其他机器上找到数据。集群带来主从节点机制,一般至少需要3个节点来选举出主节点,也可以指定主节点。主从同步问题,会导致数据不一致。保证了分布式P和可用性A,牺牲了一致性C,可以保证最终一致性。比如数据恢复。把数据存放到内存,从内存查找数据比较快一些。有key-
- 微服务中常用注解
陈鹏的博客
分布式微服务java后端
1.@Component(spring注解)用来标注将普通类交给Spring管理。交给Spring管理就是注册到spring容器中,让spring帮你创建对象。可以通过spring容器获得该对象。相当于springxml配置文件中的bean标签2.@Repository(spring注解)用来标注将mapper层接口的实现类交给Spring管理。@Component的衍生注解,用于标注mapper
- MySQL 执行计划:优化查询性能
J老熊
MySQL实战秘籍mysql数据库开发语言后端面试性能优化系统架构
一、什么是MySQL执行计划?MySQL执行计划(ExecutionPlan)是MySQL在执行SQL查询时,所采取的具体执行策略。它描述了查询如何从数据库中获取数据,执行的步骤顺序以及使用的索引等信息。通过执行计划,我们可以直观地看到查询语句的执行路径,从而判断是否可以优化。二、如何查看MySQL执行计划?查看执行计划有几种方式:EXPLAIN语句使用EXPLAIN可以查看单个查询的执行计划。例
- idea连接mysql
weixin_33758863
开发工具
https://blog.csdn.net/Golden_soft/article/details/80952243转载于:https://www.cnblogs.com/jitipaper/p/10784406.html
- MySQL专题三——MySQL函数(单行函数)
学算法,结果相对于过程不那么重要
SQLmysql数据库database
MySQL函数MySQL的内置函数分为两类:单行函数和聚合函数单行函数操作数据对象接受参数返回一个结果只对一行进行变换每行返回一个结果可以嵌套参数可以是一列或一个值单行函数分类:数值函数1.基本函数函数名函数的功能ABS(x)返回x的绝对值SIGN(x)返回x的符号。正数返回1,负数返回-1,0返回0PI()返回圆周率的值CEIL(x),CEILING(x)返回大于或等于某个值的最小整数FLOOR
- Spring config location file not found exception
qq361301276
MavenMaven
1downvotefavorite1Inmywebappi'mtryingtousespringsecurity.Ihavethefollowingprojectstructure:Inmyweb.xmlisettheconfigLocationslikethis:AndinmyHibernateUtil,icreatetheClassPathXmlApplicationContextliketh
- MySQL——事务
很楠不爱
MySQLmysql数据库
一.事务的概念事务就是一组DML语句组成,这些语句在逻辑上存在相关性,这一组DML语句要么全部成功,要么全部失败,是一个整体。MySQL提供一种机制,保证我们达到这样的效果。事务还规定不同的客户端看到的数据是不相同的。一个完整的事务,绝对不是简单的sql集合,还需要满足如下四个属性:原子性:一个事务(transaction)中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。事务在
- 接口 V2 完善:基于责任链模式、Canal 监听 Binlog 实现数据库、缓存的库存最终一致性
Hello Dam
Java开发#Java功能开发实战#场快订SaaS平台责任链模式数据库缓存数据一致性CanalBinlog
本文介绍了一种使用Canal监听MySQLBinlog实现数据库与缓存最终一致性的方案。文章首先讲解了如何修改Canal配置以适应订单表和时间段表的变化,然后详细描述了通过责任链模式优化消息处理逻辑的方法,确保能够灵活应对不同数据表的更新需求。最后,展示了如何利用RocketMQ消费Canal消息并通过责任链处理器同步更新缓存,从而保证数据的一致性。此方法有效提升了系统的可扩展性和维护效率。️He
- mysql数据库的学习(二)--sql语句用法及约束介绍
文艺小少年
数据库mysqlsql
目录一、引言二、SQL常用操作语句------>2.1、连接数据库------>2.2、DDL语句------>2.3、DML三、DQL语句------>3.1、简单查询------>3.2、条件查询------>3.3、模糊查询------>3.4、分组查询------>3.5、分页------>3.5、排序四、数据库约束------>4.1、主键约束------>4.2、唯一约束------>
- 使用 Docker Compose 一键启动 Redis、MySQL 和 RabbitMQ
前端 贾公子
dockerredismysql
目录一、DockerCompose简介二、服务配置详解1.Redis配置2.MySQL配置3.RabbitMQ配置三、数据持久化与时间同步四、部署与管理五、总结目录挂载与卷映射的区别现代软件开发中,微服务架构因其灵活性和可扩展性而备受青睐。为了支持微服务的高效运行,我们需要构建一个强大且可靠的基础设施。本文将介绍如何使用DockerCompose部署Redis、MySQL和RabbitMQ,这些组
- 一定有人在首次使用DBeaver 时遇到oracle.jdbc.OracleDriver的问题
七分seven
oraclejar数据库
问题:oracle.jdbc.OracleDriver;Can'tcreatedriverinstanceErrorcreatingdriver'Oracle'instance.Mostlikelyrequiredjarfilesaremissing.Youshouldconfigurejarsindriversettings.Reason:can'tloaddriverclass'oracle.
- 并发控制-文件锁
gophp高并发
在以往的项目中,遇到高并发大流量需求做并发控制的时候一般都使用redis分布式锁或者mysql加锁处理高并发情况。最近遇到一个php项目,没有安装redis,由于某种原因也不考虑使用mysql加锁控制并发,所以采用文件锁的方式控制并发,整理了下代码php版本classFileLock{/**@varstring锁名称唯一性*/privatestring$key;/**@varstring锁文件*/
- MySQL通过binlog恢复数据
鲁班班
mysql数据库
MySQL通过binlog恢复数据一、背景在MySQL中,如果不小心删除了数据,可以利用二进制日志(binlog)来恢复数据。实质就是将binlog记录中的事件再次执行一遍。二、前提条件启用二进制日志:确保MySQL启用了二进制日志功能。有足够的权限:确保有权限访问和读取二进制日志文件。三、恢复步骤找到相关的二进制日志文件:查看是否开启二进制日志文件SHOWVARIABLESLIKE'log_bi
- mysql 学习3 SQL语句--整体概述。SQL通用语法;DDL创建数据库,查看数据库,删除数据库,使用数据库;
hunandede
mysql学习sql
SQL通用语法SQL语句分类DDLdatadefinitionlanguage:用来创建数据库,创建表,创建表中的字段,创建索引。因此成为数据定义语言DMLdatamanipulationlanguage有了数据库和表以及字段后,那么我们就需要给这个表中添加数据,删除数据,改动数据,这些都是对数据有改动的行为,因此叫做数据操作语言manipulation中文是操作的意思DQLdataqueryla
- C++多线程几种方法
yy__xzz
c++多线程
在Windows平台上,C++可以使用多种方法来实现多线程编程。以下是一些常见的方法:1.Win32API线程使用Win32API创建线程,这涉及到`CreateThread`函数。这种方法较为底层,提供了更多的控制,但也需要更多的代码和手动管理。#include //线程函数 DWORDWINAPIThreadFunction(LPVOIDlpParam){ //线程要执行的代码
- 查询mysql的引擎
PlanOne_A
MySQLmysql数据库java
一般情况下,mysql会默认提供多种存储引擎,你可以通过下面的查看:看你的mysql现在已提供什么存储引擎:mysql>showengines;看你的mysql当前默认的存储引擎:mysql>showvariableslike'%storage_engine%';你要看某个表用了什么引擎(在显示结果里参数engine后面的就表示该表当前用的存储引擎):mysql>showcreatetable表名
- 【C++基础】多线程并发场景下的同步方法
kucupung
C++c++开发语言
如果在多线程程序中对全局变量的访问没有进行适当的同步控制(例如使用互斥锁、原子变量等),会导致多个线程同时访问和修改全局变量时发生竞态条件(racecondition)。这种竞态条件可能会导致一系列不确定和严重的后果。在C++中,可以通过使用互斥锁(mutex)、原子操作、读写锁来实现对全局变量的互斥访问。一、缺乏同步控制造成的后果1.数据竞争(DataRace)数据竞争发生在多个线程同时访问同一
- mysql主从数据一致性怎么校验_mysql主从数据一致性校验及纠错工具
Oliverzzzhang
目录1、概述2、percona-tooldit工具的安装3、新建用户4、pt-table-checksum使用5、pt-table-sync使用6、个人总结1、概述假如你是一位运维人员,假如你生产环境上目录1、概述2、percona-tooldit工具的安装3、新建用户4、pt-table-checksum使用5、pt-table-sync使用6、个人总结1、概述假如你是一位运维人员,假如你生产环
- 数据迁移后如何做数据一致性比较(保证数据迁移的正确性)
m0_38111284
mysqlsqlpostgresqloracledfs数据库
数据迁移后,一定要做数据一致性验证。方法如下:1.数据量验证,即表的行数一致,selectcount(*)fromtab1;2.数据格式,列的一致性验证,在行数一致的前提下,验证每一列正确迁移,无乱码,无格式问题,迁移前后数据完全一致。mysql>select`CountryCode`,concat(ifnull(ID,''),ifnull(Name,''),ifnull(CountryCode,
- MySQL 主从同步一致性详解
Java之路行者
JAVA后端SpringBootMySqlmysqlandroid数据库
MySQL主从同步是一种数据复制技术,它允许数据从一个数据库服务器(主服务器)自动同步到一个或多个数据库服务器(从服务器)。这种技术主要用于实现读写分离、提升数据库性能、容灾恢复以及数据冗余备份等目的。下面将详细解析MySQL主从同步的一致性问题,并通过案例分析其工作原理。一、MySQL主从同步一致性详解主从同步原理MySQL主从同步基于二进制日志(binlog)进行。主库将数据的变更写入binl
- MySQL数据库入门到大蛇尚硅谷宋红康老师笔记 基础篇 part 5
E___V___E
数据库mysql笔记
第05章_排序与分页排序#第05章_排序与分页#1.排序#如果没有使用排序操作,默认情况下查询返回的数据是按照添加数据的顺序显示的。SELECT*FROMemployees;#1.1基本使用#使用ORDERBY对查询到的数据进行排序操作。#升序:ASC(ascend)#降序:DESC(descend)#练习:按照salary从高到低的顺序显示员工信息#使用ORDERBY对查询到数据排序操作SELE
- MySQL入门学习-索引.删除索引
守护者170
MySQL学习数据库学习mysql
一、索引的概念索引是一种特殊的数据结构,用于加速数据库中数据的检索。它可以提高查询的效率,减少磁盘I/O操作,从而加快数据的访问速度。二、索引的类型MySQL支持多种类型的索引,包括:1.主键索引(PRIMARYKEY):用于唯一标识表中的每行记录。2.唯一索引(UNIQUE):确保表中某一列的值是唯一的。3.普通索引(INDEX):用于加速数据的查询。4.全文索引(FULLTEXT):用于对文本
- maven中使用jdbc
理想二旬不止(上班了,好像没有理想了)
#java#jdbcjava后端
用到的有数据库连接池、JDBCTemplate一、首先导入jar包mysqlmysql-connector-java8.0.25compilecom.alibabadruid1.0.9org.springframeworkspring-core4.1.2.RELEASEcompileorg.springframeworkspring-jdbc4.1.2.RELEASEcompileorg.spri
- Spring BeanWrapper的嵌套属性操作技巧
t0_54coder
springjava后端个人开发
在Spring框架中,BeanWrapper是一个强大的工具,用于操作JavaBean的属性。它不仅可以设置简单的属性值,还能处理嵌套属性、集合元素等复杂场景。本文将通过几个实例,详细介绍如何使用BeanWrapper来操作嵌套的Bean实例。一、嵌套Bean的设置假设我们有两个类:Employee和Department。Employee包含一个Department类型的属性。我们可以通过Bean
- Hibernate快速入门:基于H2内存数据库的ORM实践
t0_54coder
数据库hibernateoracle个人开发
在当今的软件开发中,ORM(对象关系映射)框架已经成为简化数据库操作的重要工具之一。Hibernate作为Java领域中非常流行的ORM框架,能够帮助开发者将Java类映射到数据库表中,从而减少大量的数据库操作代码。本文将通过一个简单的示例,介绍如何使用Hibernate结合H2内存数据库,快速实现一个简单的ORM应用。一、项目依赖配置在开始之前,我们需要配置项目的依赖。这里我们使用Maven作为
- MySQL常用命令大全
DK_521
数据库mysql数据库
目录1、mysql服务的启动和停止2、登陆mysql3、增加新用户4、操作数据库Ⅰ、显示数据库列表:Ⅱ、显示库中的数据表:Ⅲ、显示数据表的结构:Ⅳ、建库与删库:Ⅴ、建表与删表:Ⅵ、清空表中记录:Ⅶ、显示表中的记录:Ⅷ、往表中加入记录:Ⅹ、更新表中数据5、导出和导入数据Ⅰ.导出数据:Ⅱ.导入数据:Ⅲ.将文本数据导入数据库:6、退出MYSQL命令打开Linux或MacOS的Terminal(终端)直接
- 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