- Spring Boot + EasyExcel导入导出,简直太好用了!
十一技术斩
springbootjavamybatis
背景老项目主要采用的POI框架来进行Excel数据的导入和导出,但经常会出现OOM的情况,导致整个服务不可用。后续逐步转移到EasyExcel,简直不能太好用了。EasyExcel是阿里巴巴开源插件之一,主要解决了poi框架使用复杂,sax解析模式不容易操作,数据量大起来容易OOM,解决了POI并发造成的报错。主要解决方式:通过解压文件的方式加载,一行一行地加载,并且抛弃样式字体等不重要的数据,降
- Spring 面向切面编程 XML 配置实现
我是大头鸟
javaspringxmljava
Spring支持AOP,并且可以通过XML配置来实现。相关标签介绍:aop:config注明开始配置aop,是配置的开始标签aop:aspect配置切面ref属性是引用相关切面类Bean的idaop:point-cut定义切点expression是具体的表达式id是切点的标识aop:before定义前置通知method是要执行的方法pointcut-ref为引用的aop-point-cut定义的i
- 电源MPPT设计步骤与难点分析
DeepGpt
电路硬件工程
设计一个电源的最大功率点跟踪(MPPT,MaximumPowerPointTracking)系统通常用于太阳能光伏系统、风能系统等可再生能源领域,以确保从能量源(如太阳能板)中提取最大功率。以下是MPPT设计的一般步骤及其中的难点:一.MPPT设计步骤理解系统需求目标:明确系统的输入(如太阳能板的电压和电流范围)和输出需求(如负载或电池的电压要求)。环境条件:考虑温度、光照强度或风速等外部因素对功
- 点云边缘提取及可视化
Alan Lan
PCL
点云素材:bunny.txt#include#include#includevoidCreateCloudFromTxt(conststd::string&file_path,pcl::PointCloud::Ptrcloud){std::ifstreamfin(file_path.c_str());std::stringline;pcl::PointXYZpoint;while(getline(
- C++ 实现 ROS 2 点云欧几里得聚类
c++
C++实现ROS2点云欧几里得聚类在LivoxMid-360采集的sensor_msgs::msg::PointCloud2点云数据上进行欧几里得聚类(EuclideanClusterExtraction),具体流程如下:✅1.订阅PointCloud2并转换为pcl::PointCloud解释:sensor_msgs::msg::PointCloud2是ROS2点云消息格式,PCL不能直接处理。
- docker 打包镜像部署
Perfect珈蓝
dockerjava容器
dockerfile直接复制粘贴,把jar包位置改一下就行#设置本镜像需要使用的基础镜像#FROMjava:11FROMopenjdk:11#把jar包添加到镜像中ADDip-v1.jar/app.jar#镜像暴露的端口EXPOSE9866RUNbash-c'touch/app.jar'#容器启动命令ENTRYPOINT["java","-jar","/app.jar"]#设置时区RUN/bin/
- seq2seq推理模块设计
何仙鸟
PyTorch深度学习人工智能
代码:#loadcheckpoints,如何上线model=Sequence2Sequence(len(src_word2idx),len(trg_word2idx))model.load_state_dict(torch.load(f"./best.ckpt",weights_only=True,map_location="cpu"))classTranslator:def__init__(se
- 【C++入门】变量和基本类型
byte轻骑兵
#C++深度探索与实战专栏c++开发语言
目录一、基本内置类型1.1.整型(IntegerTypes)1.2.浮点型(Floating-pointTypes)1.3.字符型(CharacterType)1.4.布尔型(BooleanType)1.5.示例代码二、变量声明与定义2.1.声明vs定义2.2.变量的初始化2.3.默认初始化规则三、作用域与生命周期3.1.作用域类型3.2.生命周期对比四、复合类型4.1.引用(别名)4.2.指针五
- 鸿蒙开发-一多开发之断点布局
川石教育
鸿蒙开发harmonyos鸿蒙开发鸿蒙课程培训鸿蒙开发培训鸿蒙开发教程
在HarmonyOS的ArkTS语法中,断点布局是一种用于响应不同屏幕尺寸和设备类型的布局技术。以下是一个简单的断点布局实例,不涉及媒体查询,仅使用ArkTS的内置功能和组件来实现。import{BreakpointSystem,BreakpointConstants}from'@ohos/arkui';@Entry@ComponentstructBreakpointLayoutDemo{priv
- PIMPL模式
我要进步!
c++
PIMPL模式是什么?PIMPL(PointertoImplementation,指向实现的指针)是一种C++设计模式,也称为“编译防火墙”或“OpaquePointer”模式。它的核心思想是将类的实现细节与接口声明分离,通过将私有成员和实现逻辑移动到一个单独的类中,并在主类中仅保留一个指向该实现类的指针。PIMPL模式的结构1.主类(PublicInterface)-只包含公共接口和指向实现类的
- springboot Actuator 介绍
stayhungerstayflush
spring基础介绍springboot后端java
SpringBootActuator深度解析与实战指南一、开篇导言SpringBootActuator是SpringBoot生态中用于实现应用监控与管理的关键模块,为生产级应用提供了开箱即用的运维能力。本文将深入剖析其核心机制,并通过实战案例演示如何构建企业级的应用监控体系。二、核心概念深度解析1.端点(Endpoints)体系端点作为Actuator的核心交互接口,通过HTTP和JMX两种协议暴
- EasyExcel 使用详解与示例
clownAdam
JavaeasyExceleasyexceljavajava操作EasyExcel
EasyExcel详解1.简介EasyExcel是阿里巴巴开源的一款基于Java的Excel操作工具,专注于高性能、低内存占用的Excel读写。相比ApachePOI,EasyExcel在处理大数据量时表现更优,尤其适合处理百万行级别的Excel文件。2.主要特性高性能:采用流式读写模型,内存占用低,适合大数据量处理。易用性:API设计简洁,支持链式调用。功能丰富:支持Excel的读写、样式设置、
- ES6 字符串和正则表达式(三)
小李学软件
ES6学习javascriptes6es6/es7
更好的Unicode支持早期,由于存储空间宝贵,Unicode使用16位二进制来存储文字。我们将一个16位的二进制编码叫做一个码元(CodeUnit)。后来,由于技术的发展,Unicode对文字编码进行了扩展,将某些文字扩展到了32位(占用两个码元),并且,将某个文字对应的二进制数字叫做码点(CodePoint)。ES6为了解决这个困扰,为字符串提供了方法:codePointAt,根据字符串码元的
- C++学习笔记(十三)——指针
奕天者
C++基础学习c++学习笔记
一、指针的作用指针(Pointer)是C++中的一种特殊变量,它存储的是另一个变量的内存地址,而不是具体的值。指针有以下作用:直接操作内存地址,提高效率。动态内存分配,如new和delete。数组与字符串的操作,如遍历数组。函数参数传递,提高性能,避免数据拷贝。实现数据结构,如链表、树等。二、指针的声明、取地址和解引用(1)指针的声明作用:定义指针变量。语法:数据类型*指针变量名;示例:inta=
- JavaEE AOP详解(从原理到实践 基于Spring AOP + AspectJ,附完整代码实例)
可问 可问春风
JAVAEEjava-eespringjava
一、AOP核心概念1.为什么需要AOP?传统OOP编程中,重复的逻辑(如日志、事务、权限)会散落在各业务方法中,造成代码冗余和维护困难。AOP通过横向切割将这些公共功能抽取成独立模块(切面),实现解耦。2.AOP核心术语术语描述生活类比Aspect(切面)封装横切逻辑的类(如日志、事务)安保系统:处理监控、门禁等统一功能JoinPoint(连接点)程序执行期间的某个点(如方法执行、异常抛出)大楼出
- 【Prometheus】prometheus 架构介绍
Learn Forever
Prometheus架构运维docker
1.组件说明prometheusserver是Prometheus组件中的核心部分,负责实现对监控数据的获取,存储以及查询。exporter简单说是采集端,通过http服务的形式保留一个url地址,prometheusserver通过访问该exporter提供的endpoint端点,即可获取到需要采集的监控数据。AlertManager在prometheus中,支持基于PromQL创建告警规则,如
- 阿里OSS--基本介绍
AugustShuai
#阿里OSS文件存储java分布式大数据阿里OSS文件存储
文章目录相关链接一.文件存储系统介绍1.储存系统的选择二.阿里OSS的基础介绍介绍使用场景三.阿里OSS的基础概念存储空间(Bucket)对象/文件(Object)Region(地域)Endpoint(访问域名)AccessKey(访问密钥)强一致性数据冗余机制四.阿里OSS基础概念对比图(方便记忆理解)OSS术语表相关链接Fastdfs—基本介绍和底层模型详解阿里OSS–官方文档阿里OSS–基本
- java使用SXSSFWorkbook生成具有图片与文字的Excel表格
「已注销」
apachejavapoiexcel
在这里是一个Maven工程,在pom.xml中引入poi依赖org.apache.poipoi3.9org.apache.poipoi-ooxml3.9例子中的情景是从数据库查出了许多记录,记录的是地理信息。记录有几个字段记录的图片保存的绝对路径。根据这些字段的内容生成图片。例如picOneAddr。记录分为不同的类型,比如楼房,桥梁等。将每种类型生成一个sheet进行分开保存。具体导出表格的一个
- 接上一篇:Java实现导出Excel并附带水印
沉默木头人
javajavapoiexcel
上篇这么优秀的Excel工具类,你难道不用?介绍了Java使用poi操作excel表格的导入和修改,在日常开发中经常也会遇到在页面上点击按钮将数据库中的数据导出到excel表中;在了解Excel的水印其实就是插入艺术字再修改字体的颜色、字体、透明度就变成了所谓的水印效果了(一顿操作后我发现其实就类似插入一张透明文字图片);思路:根据对Excel的了解及上网查阅了几篇文章后,整理出了思路。在对Exc
- d3-v7 数据可视化折线图+悬浮窗
deyong1024
数据可视化信息可视化
#TestD3{width:100%;height:35%;position:relative;.tooltip{opacity:0;position:absolute;padding:0.6em1em;background:#fff;text-align:center;border:1pxsolid#ddd;z-index:10;transition:all0.2sease-out;pointe
- 【笔试面试】秒懂深度学习模型小型化:蒸馏法、剪枝…
聊北辰同学
轻量级神经网络神经网络深度学习机器学习数据挖掘
蒸馏:主要思想是,通过大模型指导小模型学习。剪枝:网络剪枝的主要思想就是将权重矩阵中相对“不重要”的权值剔除,然后再重新finetune网络进行微调。紧凑模型设计:MobileNet的深度可分离卷积shufflenet的逐点群卷积(pointwisegroupconvolution)和通道混洗(channelshuffle),前者通过分组卷积降低计算量,后者促进信息在不同组之间流转
- Docker从入门到实战
欧阳今朝
Dockerdocker容器运维
文章目录一、概述1.1基本概念1.2优势1.3与传统VM特性对比:1.4基础架构1.5Docker技术的基础:二、安装部署2.1准备条件2.2安装Docker2.3基本命令2.4命令整理2.5简单实践操作2.6Dockerfile详解FROM(指定基础image)RUN(安装软件用)CMD(设置container启动时执行的操作)ENTRYPOINT(设置container启动时执行的操作)USE
- 解决ElementPlus对话框el-dialog中关闭事件重复触发问题
妍思码匠
妍思码匠的前端乐园vue.jselementui前端el-dialog对话框
问题背景在使用ElementPlus的el-dialog组件时,发现点击取消按钮会触发两次关闭事件:1.第一次参数为PointerEvent(事件对象)2.第二次参数为undefined需要确保点击取消按钮时仅触发一次有效关闭事件,并传递正确的布尔值参数。问题分析(ElementPlus特性相关)组件结构特征取消双重触发原因点击取消按钮:会触发close()关闭函数→然后触发对话框的handleC
- Spring boot如何获得客户端ip地址以及根据主机名获得ip地址
raining7989
javaspringwebsocket
目录1、获得访问controller端口的客户端ip地址2、获得访问endpoint端口的客户端ip地址3、根据服务器的主机名获得ip地址,并拼接成可以直接访问的链接1、获得访问controller端口的客户端ip地址importjavax.servlet.http.HttpServletRequest;importorg.springframework.web.context.request.R
- C++的引用 ‘&’
三贝勒文子
C/C++c++c语言软件工程开发语言
引用这个操作在C语言中就已经存在了,它表示了一个取地址符,取地址符经常被用来在定义指针p的时候,在变量前面加上这个取地址符号,表示指针p指向了该变量的地址:int*p=NULL;inta=0;p=&a;又或者是在函数的参数传递时候,形参定义的是指针,实参数变量的取地址,通过指针传递的形式来进行数据的交换操作:voidTest_PointerTransport(int*p,int*q){inttem
- c++ 中的引用 &
心态与习惯
C++/c语言c++引用指针ref数组容器传递
引用与指针经常混淆,总结一下文章目录1.引用与指针的区别2.引用传递数组3.通过引用传递容器和类4.多线程传递容器时用std::ref替代引用传递1.引用与指针的区别引用(Reference):引用是变量的别名,本质上不是一个变量,而是给一个已经存在的变量起的一个别名。本质:引用就是变量的别名,不占用新的内存空间。指针(Pointer):指针是一个变量,存放的是另一个变量的内存地址,需要通过解引用
- PointNet++改进策略 :模块改进 | x-Conv | PointCNN, 结合局部结构与全局排列提升模型性能
我是瓦力
PointNet++改进策略人工智能深度学习计算机视觉
目录前言PointCNN实现细节1.XXX-Conv操作输入输出步骤2.PointCNN网络架构层级卷积分类与分割任务3.数据增强4.效率优化前言这篇论文介绍了一种名为PointCNN的方法,旨在从点云(pointcloud)数据中学习特征。传统卷积神经网络(CNN)在处理规则网格数据(如图像)时非常有效,但由于点云是无序且不规则的,直接在其上应用卷积操作会导致形状信息丢失,并对点的排列顺序敏感。
- 点云网络的论文理解(三)-点云网络的优化 PointNet++的总体说明
CUHK-SZ-relu
PointNet深度学习
总体说明这个部分是为了让大家可以更好地理解文章1.以前的网络有什么缺点1.首先第一点就是论文当中反复提到的没有局部特征的问题。2.另外一个就是PointNet不具有平移不变性,理解一下这个,PointNet最后是一个maxpooling所以决定是不是选择当前内容的唯一因素是大小,因为除了pooling之外使用的就只有mlp,之前的所有一系列处理其实都可以等价为乘上一个参数,每个的参数可能不同,有正
- 蓝桥 basic-13 数列排序 C++ python
Simone Zeng
蓝桥杯ACM
含泪补基础蓝桥basic-13数列排序文章目录1.题目描述2.解题思路3.使用C++sort用法4.使用python列表推导式、map、sorted1.题目描述2.解题思路这是一个简单的排序问题,需要考虑读入数据后如何实现排序。3.使用C++sort用法sort用法:sort(first_pointer,first_pointer+n,cmp)该函数可以给数组,或者链表list、向量排序。参数3:
- 【嵌入式DIY实例-Arduino篇】-最大功率点跟踪 (MPPT) 太阳能充电控制器
视觉与物联智能
物联网全栈开发实战嵌入式硬件嵌入式电子工程物联网单片机
最大功率点跟踪(MPPT)太阳能充电控制器文章目录最大功率点跟踪(MPPT)太阳能充电控制器1、应用介绍2、硬件准备3、太阳能充电控制器介绍4、硬件设计5、驱动代码实现1、应用介绍在这个应用中,我们将使用Arduino并结合许多主动-被动电子设备构建我们自己的MPPT太阳能充电控制器。MPPT表示最大功率点跟踪控制器(MaximumPowerPointTrackingController)。大多数
- 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