- 事件驱动架构下的Java应用——构建响应迅速、解耦合的高效系统
墨夶
Java学习资料2java架构开发语言
在当今快速变化的技术环境中,软件系统的灵活性和响应速度成为了决定其成功与否的关键因素之一。传统的同步处理方式往往难以满足现代应用程序对于高性能和低延迟的要求。而事件驱动架构(Event-DrivenArchitecture,EDA)作为一种新兴的设计模式,通过引入异步机制来实现组件间的松散耦合,从而极大地提高了系统的可扩展性和维护性。本文将深入探讨如何基于Java语言构建一个高效的事件驱动架构,并
- 用C++实现一个基于模板的观察者设计模式
CoderIsArt
UML设计模式C++11设计模式
观察者模式定义观察者模式(ObserverPattern)是一种行为型设计模式,用于定义对象间的一对多依赖关系,使得当一个对象状态发生变化时,其所有依赖它的对象都会收到通知并自动更新。核心概念角色定义Subject(被观察者):持有观察者列表,维护观察者的注册和移除。状态改变时通知所有观察者。Observer(观察者):定义接收通知的接口。注册到被观察者中,等待状态变化通知。适用场景一个对象状态改
- 网络编程——UDP套接字
Sirudoi
网络网络udp服务器
一、前缀知识端口号:用来标识在一台机器上的唯一进程。IP地址:用来标识在网络上的唯一主机。因此通过IP+端口号的方式,就可以在互联网上唯一标识一个进程,套接字就是通过这种方式,唯一地标识在互联网之间通信的一对进程,网络套接字的本质其实就是进程间的通信。套接字是在传输层的接口,可以让我们选择通信的协议是UDP,还是TCP。1.1端口号&进程PID这里区分一下端口号和进程的PID,看到这里你也许会问:
- 观察者模式
咖啡の猫
观察者模式设计模式
在软件开发的广阔领域中,我们常常会遇到这样的场景:一个对象的状态变化需要通知其他多个对象做出相应的反应。例如,在一个股票交易系统中,当某只股票价格发生变动时,需要实时通知关注该股票的所有投资者。观察者模式(ObserverPattern)正是为解决这类问题而诞生的,它提供了一种对象间的一对多依赖关系,当一个对象状态改变时,所有依赖它的对象都会得到通知并自动更新。观察者模式概述观察者模式是一种行为型
- grafana数据库从sqlit3迁移至mysql(tidb)
mark.meng
监控系统数据库grafanamysql
背景grafana默认采用的是sqlite3,由于sqlite3不支持同时写,sqlite的锁是文件锁,作用的是整个DB文件,同一时间可以有多个读事务,但是同一时间最多只能有一个写事务。容易锁库导致grafana报错,现决定将grafana默认sqlite3db文件迁移至mysql(tidb)中。报错信息:Error:databaseislocked迁移步骤1.下载迁移工具镜像dockerpull
- 第03讲 原理探究,了解爬虫的基本原理
roc_lpy
Python
转载于拉勾教育-52讲轻松搞定网络爬虫-崔庆才1.爬虫概述我们可以把互联网比作一张大网,而爬虫(即网络爬虫)便是在网上爬行的蜘蛛。如果把网的节点比作一个个网页,爬虫爬到这就相当于访问了该页面,获取了其信息。可以把节点间的连线比作网页与网页之间的链接关系,这样蜘蛛通过一个节点后,可以顺着节点连线继续爬行到达下一个节点,即通过一个网页继续获取后续的网页,这样整个网的节点便可以被蜘蛛全部爬行到,网站的数
- 【黑马python:文件操作】85-90
asaasaaax
pythonjavaandroid
目录一、文件编码的概念二、文件的读取操作1.打开文件2.读取文件3.关闭文件4.课后练习四、文件的写入操作五、文件的追加案例一、文件编码的概念1.什么是编码?编码就是一种规则集合,记录了内容和二进制间进行相互转换的逻辑。编码有许多中,我们最常用的是UTF-8编码2.为什么需要使用编码?计算机只认识0和1,所以需要将内容翻译成0和1才能保存在计算机中。二、文件的读取操作1.打开文件open(打开函数
- 集群间hive数仓迁移
one code
database
方式一:(此方法需要建库建表)第一步:建库建表在原集群hive上查看迁移表的建表语句及所在库,然后在新集群hive上建库建表;showcreatetabletb_name;createdatabasedb_name;createtabletb_name.....第二步:转移数据文件到新集群;在旧集群中下载数据到本地hadoopfs-get/user/hive/warehouse/dc_ods.db
- 重生之我在异世界学编程之算法与数据结构:算法复杂度介绍篇
就爱学编程
数据结构与算法算法数据结构排序算法
大家好,这里是小编的博客频道小编的博客:就爱学编程很高兴在CSDN这个大家庭与大家相识,希望能在这里与大家共同进步,共同收获更好的自己!!!本文目录引言正文一时间复杂度1.常数时间复杂度O(1)2.线性时间复杂度O(n)3.对数时间复杂度O(logn)4.平方时间复杂度O(n^2)5.指数时间复杂度O(2^n)二空间复杂度(1)空间复杂度的定义与重要性(2)常见的空间复杂度类型及介绍1.常数空间复
- 【RPC方案调研】Grpc 嵌入式移植流程
背着书包狂奔
架构设计c++软件架构师
由于项目需求,准备在嵌入式上使用rpc方案,调研了多个方案,最终由于Grpc和protobuf天然的亲和性,决定对Grpc进行移植。Grpc地址:https://github.com/grpc/grpcGrpc的交叉编译支持三种方式:bazel,cmake,makefile;bazel由于编译太麻烦,主要适合google内部,直接放弃了,本文主要讲解基于cmake的交叉编译方式,makefile也
- 华为OD机试E卷 - 机器人活动区域(Java & Python& JS & C++ & C )
算法大师
最新华为OD机试java华为od机器人c语言javascriptpython华为OD机试E卷
最新华为OD机试真题目录:点击查看目录华为OD面试真题精选:点击立即查看题目描述现有一个机器人,可放置于M×N的网格中任意位置,每个网格包含一个非负整数编号,当相邻网格的数字编号差值的绝对值小于等于1时,机器人可以在网格间移动。问题:求机器人可活动的最大范围对应的网格点数目。说明:网格左上角坐标为(0,0),右下角坐标为(m−1,n−1),机器人只能在相邻网格间上下左右移动输入描述第1行输入为M和
- 数字化转型下企业的敏捷变革之路
开利网络
大数据人工智能信息可视化搜索引擎物联网
在当今这个数字技术狂飙突进的时代,企业面临的市场就像一片波涛汹涌的大海,瞬息万变。传统那一套按部就班、部门条块分割的玩法,已经很难让企业在这片“海域”顺利航行了。怎么办?答案是:拥抱敏捷,重塑组织架构与文化。先来说说敏捷组织架构,它就像是给企业做了一次“瘦身手术”,去掉那些繁琐的中间层级,实现扁平化。高层的决策眨眼间就能到基层,基层员工发现的问题、想出的点子,也能飞速传回管理层。这一来一往,企业的
- 华为OD机试E卷 --机器人活动区域--24年OD统一考试(Java & JS & Python & C & C++)
飞码创造者
最新华为OD机试题库2024华为od机器人javajavascriptpythonjs
文章目录题目描述输入描述输出描述用例题目解析JS算法源码Java算法源码python算法源码c算法源码c++算法源码题目描述现有一个机器人,可放置于M×N的网格Q中任意位置,每个网格包含一个非负整数编号。当相邻网格的数字编号差值的绝对值小于等于1时,机器人可在网格间移动问题:求机器人可活动的最大范围对应的网格点数目。说明:1)网格左上角坐标为(0,0),右下角坐标为(m-1,n-1)2)机器人只能
- 电商平台的API接口创新:开启智能化新时代
FB13713612741
人工智能python爬虫oneapi
在当今数字化驱动的商业世界中,电商平台正以前所未有的速度蓬勃发展,成为经济增长的重要引擎。而在这一繁荣景象的背后,API接口(ApplicationProgrammingInterface,应用程序编程接口)的创新扮演着至关重要的角色。它们不仅为电商业务的高效运行和持续创新提供了坚实的支撑,更是开启智能化新时代的关键力量。一、API接口在电商平台中的基础作用API接口是一种定义和程序间交互的协议和
- 数据仓库的复用性:流程层面
PersistDZ
大数据与AI数据仓库
在数据仓库建设中,流程层面的复用性是提高开发效率和数据质量的关键。通过标准化ETL流程、模块化设计,以及实时与离线共用的架构,可以最大化数据处理流程的复用性,降低复杂度。以下是详细的介绍和落地方案。1.标准化ETL流程1.1标准化ETL的意义提高流程一致性,减少人为失误。降低维护成本,方便团队协作。支持多项目间共享和复用。1.2标准化ETL设计方法1.2.1标准化流程定义将ETL过程拆分为抽取(E
- JUC 三大辅助类: CountDownLatch CyclicBarrier Semaphore
難釋懷
java
在并发编程中,线程间的协调是一个常见的挑战。Java并发包java.util.concurrent提供了多种工具来帮助开发者解决这一问题。其中,CountDownLatch、CyclicBarrier和Semaphore是三个非常有用的同步辅助类,它们各自具有独特的功能和适用场景。本文将详细介绍这三个类的工作原理,并通过实际案例演示如何在项目中应用它们。CountDownLatch概述定义与用途C
- curl命令参数解释翻译
梅见十柒
计算机网络计算机网络http网络安全
这一次将详细学习curl的各个参数,下面将从第一个参数开始,逐一解析它们的含义和用法。1.--abstract-unix-socket这个参数用于通过抽象的Unix域套接字进行连接。抽象的Unix域套接字与文件系统无关,可以在内存中进行通信。这在某些需要高效IPC(进程间通信)的应用中非常有用。例如:[curl--abstract-unix-socket/var/run.sockhttp://lo
- 《解锁数据新动能:数据标注工具与AI模型训练平台的无缝对接热潮》
人工智能深度学习
在当今人工智能飞速发展的时代,数据已然成为驱动其进步的核心燃料。而数据标注工具与人工智能模型训练平台的集成,实现数据的无缝流转,正逐渐成为行业内的关键热点,犹如为人工智能的发展装上了强劲的双引擎。为何集成如此关键数据标注是为数据赋予标签,使其能被人工智能模型理解和学习的过程。训练平台则是利用这些标注好的数据来构建和优化模型。两者若相互独立运作,数据在不同系统间的传输会面临格式不兼容、接口不匹配等难
- Docker 端口映射与容器互联
耿雨飞
#dockerdocker
前言Docker的端口映射和容器互联是构建和管理微服务架构时重要的概念。这些功能使你能够可以将服务暴露给外部世界,并让容器间可以通过网络通信。下面将详细介绍这两个概念以及如何在Docker中实现。Docker端口映射端口映射指的是将容器的端口映射到主机的端口,使得外部用户能够通过主机的IP地址和端口访问容器内运行的服务。启动容器并进行端口映射使用-p标志可以在启动容器时进行端口映射。语法如下:do
- 《微服务王国的守护者:Spring Cloud Dubbo的奇幻冒险》
Geek_H
Java面试热点微服务springclouddubbojava云原生缓存hystrix
5.经典问题与解决方案5.3服务追踪与链路监控在微服务架构的广袤宇宙中,服务间的调用关系错综复杂,如同一张庞大的星系网络。当一个请求穿越这个星系,经过多个服务节点时,如何追踪它的路径,如何监控整个链路的健康状况,成为了确保系统稳定运行的关键。服务追踪的必要性想象一下,你是一位星际探险家,你的任务是追踪一艘飞船穿越星系的轨迹。如果飞船在某个星系节点出现了问题,你需要迅速定位问题发生的位置,并了解它之
- pytest测试框架集成钉钉机器人、邮件,并实现持续集成部署
weixin_44872675
pytestpytest
要结合多系统并存的架构,使用YAML文件编写测试用例,并集成钉钉、邮件通知功能以及CI/CD流程,以下是完整的实现方案。整体功能架构多系统测试支持:使用YAML文件定义测试用例,支持多系统间的模块化、分层管理。测试框架根据YAML文件动态加载测试用例,支持灵活扩展。测试报告生成与通知:测试完成后生成HTML测试报告。使用钉钉机器人推送总结消息。通过邮件发送详细的测试报告。CI/CD集成:配置CI/
- qt编写linux守护进程,QT开发(三十五)——QT进程间通信
周恰恰
qt编写linux守护进程
QT开发(三十五)——QT进程间通信Qt是一个跨平台的应用框架,其进程间通信机制当然可以使用所在平台的进程间通信机制,如在Windows平台上的Message机制、共享内存、文件映射、管道、Socket等。其中,Qt对一些许多平台共有的IPC机制进行了封装。一、TCP/IP其实就是通过网络模块实现的IPC。不过Qt对其进行了封装,并提供了两个层次的API,包括应用程序级的QNetworkAcces
- ArkTS 父子组件通信
若博豆
ArkTS鸿蒙typescript
前言鸿蒙开发中有时候会用到父子间的通信。代码一、@Link装饰器:父子双向同步@Link装饰的变量与其父组件中的数据源共享相同的值。父组件:importbuttonTestfrom"./buttonTest";@Entry@ComponentstructIndex{@StatefontSize:number=50build(){Column({space:10}){Text("hello").fo
- Hackbench 使用介绍
法号:行颠
测试相关linux
Hackbench使用介绍hackbench介绍hackbench应用1.hackbench参数2.hackbench代码下载3.代码编译4.样例参考文档hackbench介绍Hackbench是内核调度程序的基准测试和压力测试,是rt-tests套件的一部分。Hackbench还通过线程的重复设置和拆卸来强调内存子系统的某些部分。另外,它在一定程度上强调进程间通信(例如本地套接字、管道)。Hac
- 【论文投稿】解锁Vue.js组件开发的神奇密码
小周不想卷
艾思科蓝学术会议投稿vue.js
目录一、引言:Vue.js组件化的魅力之源二、初窥门径:组件的基础架构(一)组件的构成要素(二)创建首个Vue组件实例三、进阶之路:组件通信的艺术(一)父子组件间的通信之道(二)兄弟组件与跨层级通信的谋略四、实战演练:打造Vue.js组件库(一)规划组件库架构(二)开发实用组件五、总结:Vue.js组件开发的智慧结晶一、引言:Vue.js组件化的魅力之源在当今的前端开发领域,Vue.js已然成为备
- 【Go语言】如何脚踩多条船之互斥锁原理
go
经常脚踩多条船的朋友都知道,为了不翻船,必须时刻确保同一时间只能与一位女友约会。这个情境就像Go中,多个女友就好比是多个goroutine,而我则是共享资源。为了避免冲突,互斥锁(sync.Mutex)用于保证goroutine对临界资源的互斥访问,也就是说,同一时间只能有一个女友独占我,其他女友无权约我(狗头保命)。那么,Go的互斥锁是如何实现的呢?以下结合源码进行分析(基于Go1.23.3版本
- 推荐一款牛逼的Windows神器!功能很强大!
编程IT圈
编程语言软件测试javascriptlinuxcss
嗨喽,各位新来的小伙伴们,你们好!由于公众号做了改版,为了保证公众号的资源推送,能够第一时间及时送达,大家记得将搜罗哥的公众号加星标置顶,在此真诚的感谢!上篇推文:LeetCode1-50题汇总,速度收藏!职场上办公,最讲究的就是效率了,很多小伙伴没有一个合适的工具来帮助自己,提升工作的效率,一会需要处理图片,一会需要识别一些文字,今天搜罗哥就给小伙伴介绍一款提升效率的工具:万彩办公大师。1软件简
- 人生建议往死里学网络安全!零基础也能跨行学习!!漏洞挖掘还能做副业
黑客老哥
web安全学习安全网络系统安全
一、网络安全的重要性:从‘不学会被黑’到‘学会保护别人’网络安全的概念现在不再是技术圈的独立话题,它已经渗透到社会的各个领域。从个人的隐私保护、企业的数据安全,到国家的信息防护,网络安全几乎影响了每一个人的生活。无论是黑客攻击、勒索病毒、数据泄露,还是国家间的信息战,网络安全已经成为现代社会的基础设施之一。所以,首先要明白学习网络安全的重要性:你不仅是在学习技术,更多的是在为自己和他人的安全“筑城
- 小哆啦的解题冒险故事:买卖股票的最佳时机
故梦867
力扣每日一题算法
小哆啦开始力扣每日一题的第五天121.买卖股票的最佳时机-力扣(LeetCode)小哆啦的解题冒险故事:买卖股票的最佳时机在一个安静的编程下午,小哆啦的朋友小明正为一道编程题苦恼。这道题的名字是《买卖股票的最佳时机》,看起来并不复杂,却让小明头疼不已。初出茅庐的小哆啦“小哆啦!”小明急匆匆跑来,“这题我试了好多种办法,可是代码运行太慢了,总是超时!”“别急,别急。”小哆啦打开了自己的小本本,开始分
- JavaScript随机数
凝霜月冷残-草木破白衣
接口自动化测试javascriptjson前端
概念总结js产生随机数通常是使用javascript的Math.random()函数常用的几种方法:Math.random()表示:结果为0-1之间(包括0,不包括1);Math.floor(Math.random()*10+1)表示结果为1-10之间的一个随机数Math.floor(Math.random()*24)表示结果为0-23间的随机数1.Math.random();返回0-1之间的随机
- jvm调优总结(从基本概念 到 深度优化)
oloz
javajvmjdk虚拟机应用服务器
JVM参数详解:http://www.cnblogs.com/redcreen/archive/2011/05/04/2037057.html
Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。
- 【Scala十六】Scala核心十:柯里化函数
bit1129
scala
本篇文章重点说明什么是函数柯里化,这个语法现象的背后动机是什么,有什么样的应用场景,以及与部分应用函数(Partial Applied Function)之间的联系 1. 什么是柯里化函数
A way to write functions with multiple parameter lists. For instance
def f(x: Int)(y: Int) is a
- HashMap
dalan_123
java
HashMap在java中对很多人来说都是熟的;基于hash表的map接口的非同步实现。允许使用null和null键;同时不能保证元素的顺序;也就是从来都不保证其中的元素的顺序恒久不变。
1、数据结构
在java中,最基本的数据结构无外乎:数组 和 引用(指针),所有的数据结构都可以用这两个来构造,HashMap也不例外,归根到底HashMap就是一个链表散列的数据
- Java Swing如何实时刷新JTextArea,以显示刚才加append的内容
周凡杨
java更新swingJTextArea
在代码中执行完textArea.append("message")后,如果你想让这个更新立刻显示在界面上而不是等swing的主线程返回后刷新,我们一般会在该语句后调用textArea.invalidate()和textArea.repaint()。
问题是这个方法并不能有任何效果,textArea的内容没有任何变化,这或许是swing的一个bug,有一个笨拙的办法可以实现
- servlet或struts的Action处理ajax请求
g21121
servlet
其实处理ajax的请求非常简单,直接看代码就行了:
//如果用的是struts
//HttpServletResponse response = ServletActionContext.getResponse();
// 设置输出为文字流
response.setContentType("text/plain");
// 设置字符集
res
- FineReport的公式编辑框的语法简介
老A不折腾
finereport公式总结
FINEREPORT用到公式的地方非常多,单元格(以=开头的便被解析为公式),条件显示,数据字典,报表填报属性值定义,图表标题,轴定义,页眉页脚,甚至单元格的其他属性中的鼠标悬浮提示内容都可以写公式。
简单的说下自己感觉的公式要注意的几个地方:
1.if语句语法刚接触感觉比较奇怪,if(条件式子,值1,值2),if可以嵌套,if(条件式子1,值1,if(条件式子2,值2,值3)
- linux mysql 数据库乱码的解决办法
墙头上一根草
linuxmysql数据库乱码
linux 上mysql数据库区分大小写的配置
lower_case_table_names=1 1-不区分大小写 0-区分大小写
修改/etc/my.cnf 具体的修改内容如下:
[client]
default-character-set=utf8
[mysqld]
datadir=/var/lib/mysql
socket=/va
- 我的spring学习笔记6-ApplicationContext实例化的参数兼容思想
aijuans
Spring 3
ApplicationContext能读取多个Bean定义文件,方法是:
ApplicationContext appContext = new ClassPathXmlApplicationContext(
new String[]{“bean-config1.xml”,“bean-config2.xml”,“bean-config3.xml”,“bean-config4.xml
- mysql 基准测试之sysbench
annan211
基准测试mysql基准测试MySQL测试sysbench
1 执行如下命令,安装sysbench-0.5:
tar xzvf sysbench-0.5.tar.gz
cd sysbench-0.5
chmod +x autogen.sh
./autogen.sh
./configure --with-mysql --with-mysql-includes=/usr/local/mysql
- sql的复杂查询使用案列与技巧
百合不是茶
oraclesql函数数据分页合并查询
本片博客使用的数据库表是oracle中的scott用户表;
------------------- 自然连接查询
查询 smith 的上司(两种方法)
&
- 深入学习Thread类
bijian1013
javathread多线程java多线程
一. 线程的名字
下面来看一下Thread类的name属性,它的类型是String。它其实就是线程的名字。在Thread类中,有String getName()和void setName(String)两个方法用来设置和获取这个属性的值。
同时,Thr
- JSON串转换成Map以及如何转换到对应的数据类型
bijian1013
javafastjsonnet.sf.json
在实际开发中,难免会碰到JSON串转换成Map的情况,下面来看看这方面的实例。另外,由于fastjson只支持JDK1.5及以上版本,因此在JDK1.4的项目中可以采用net.sf.json来处理。
一.fastjson实例
JsonUtil.java
package com.study;
impor
- 【RPC框架HttpInvoker一】HttpInvoker:Spring自带RPC框架
bit1129
spring
HttpInvoker是Spring原生的RPC调用框架,HttpInvoker同Burlap和Hessian一样,提供了一致的服务Exporter以及客户端的服务代理工厂Bean,这篇文章主要是复制粘贴了Hessian与Spring集成一文,【RPC框架Hessian四】Hessian与Spring集成
在
【RPC框架Hessian二】Hessian 对象序列化和反序列化一文中
- 【Mahout二】基于Mahout CBayes算法的20newsgroup的脚本分析
bit1129
Mahout
#!/bin/bash
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information re
- nginx三种获取用户真实ip的方法
ronin47
随着nginx的迅速崛起,越来越多公司将apache更换成nginx. 同时也越来越多人使用nginx作为负载均衡, 并且代理前面可能还加上了CDN加速,但是随之也遇到一个问题:nginx如何获取用户的真实IP地址,如果后端是apache,请跳转到<apache获取用户真实IP地址>,如果是后端真实服务器是nginx,那么继续往下看。
实例环境: 用户IP 120.22.11.11
- java-判断二叉树是不是平衡
bylijinnan
java
参考了
http://zhedahht.blog.163.com/blog/static/25411174201142733927831/
但是用java来实现有一个问题。
由于Java无法像C那样“传递参数的地址,函数返回时能得到参数的值”,唯有新建一个辅助类:AuxClass
import ljn.help.*;
public class BalancedBTree {
- BeanUtils.copyProperties VS PropertyUtils.copyProperties
诸葛不亮
PropertyUtilsBeanUtils
BeanUtils.copyProperties VS PropertyUtils.copyProperties
作为两个bean属性copy的工具类,他们被广泛使用,同时也很容易误用,给人造成困然;比如:昨天发现同事在使用BeanUtils.copyProperties copy有integer类型属性的bean时,没有考虑到会将null转换为0,而后面的业
- [金融与信息安全]最简单的数据结构最安全
comsci
数据结构
现在最流行的数据库的数据存储文件都具有复杂的文件头格式,用操作系统的记事本软件是无法正常浏览的,这样的情况会有什么问题呢?
从信息安全的角度来看,如果我们数据库系统仅仅把这种格式的数据文件做异地备份,如果相同版本的所有数据库管理系统都同时被攻击,那么
- vi区段删除
Cwind
linuxvi区段删除
区段删除是编辑和分析一些冗长的配置文件或日志文件时比较常用的操作。简记下vi区段删除要点备忘。
vi概述
引文中并未将末行模式单独列为一种模式。单不单列并不重要,能区分命令模式与末行模式即可。
vi区段删除步骤:
1. 在末行模式下使用:set nu显示行号
非必须,随光标移动vi右下角也会显示行号,能够正确找到并记录删除开始行
- 清除tomcat缓存的方法总结
dashuaifu
tomcat缓存
用tomcat容器,大家可能会发现这样的问题,修改jsp文件后,但用IE打开 依然是以前的Jsp的页面。
出现这种现象的原因主要是tomcat缓存的原因。
解决办法如下:
在jsp文件头加上
<meta http-equiv="Expires" content="0"> <meta http-equiv="kiben&qu
- 不要盲目的在项目中使用LESS CSS
dcj3sjt126com
Webless
如果你还不知道LESS CSS是什么东西,可以看一下这篇文章,是我一朋友写给新人看的《CSS——LESS》
不可否认,LESS CSS是个强大的工具,它弥补了css没有变量、无法运算等一些“先天缺陷”,但它似乎给我一种错觉,就是为了功能而实现功能。
比如它的引用功能
?
.rounded_corners{
- [入门]更上一层楼
dcj3sjt126com
PHPyii2
更上一层楼
通篇阅读完整个“入门”部分,你就完成了一个完整 Yii 应用的创建。在此过程中你学到了如何实现一些常用功能,例如通过 HTML 表单从用户那获取数据,从数据库中获取数据并以分页形式显示。你还学到了如何通过 Gii 去自动生成代码。使用 Gii 生成代码把 Web 开发中多数繁杂的过程转化为仅仅填写几个表单就行。
本章将介绍一些有助于更好使用 Yii 的资源:
- Apache HttpClient使用详解
eksliang
httpclienthttp协议
Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性(具体区别,日后我们再讨论),它不仅是客户端发送Http请求变得容易,而且也方便了开发人员测试接口(基于Http协议的),即提高了开发的效率,也方便提高代码的健壮性。因此熟练掌握HttpClient是很重要的必修内容,掌握HttpClient后,相信对于Http协议的了解会
- zxing二维码扫描功能
gundumw100
androidzxing
经常要用到二维码扫描功能
现给出示例代码
import com.google.zxing.WriterException;
import com.zxing.activity.CaptureActivity;
import com.zxing.encoding.EncodingHandler;
import android.app.Activity;
import an
- 纯HTML+CSS带说明的黄色导航菜单
ini
htmlWebhtml5csshovertree
HoverTree带说明的CSS菜单:纯HTML+CSS结构链接带说明的黄色导航
在线体验效果:http://hovertree.com/texiao/css/1.htm代码如下,保存到HTML文件可以看到效果:
<!DOCTYPE html >
<html >
<head>
<title>HoverTree
- fastjson初始化对性能的影响
kane_xie
fastjson序列化
之前在项目中序列化是用thrift,性能一般,而且需要用编译器生成新的类,在序列化和反序列化的时候感觉很繁琐,因此想转到json阵营。对比了jackson,gson等框架之后,决定用fastjson,为什么呢,因为看名字感觉很快。。。
网上的说法:
fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发。
- 基于Mybatis封装的增删改查实现通用自动化sql
mengqingyu
DAO
1.基于map或javaBean的增删改查可实现不写dao接口和实现类以及xml,有效的提高开发速度。
2.支持自定义注解包括主键生成、列重复验证、列名、表名等
3.支持批量插入、批量更新、批量删除
<bean id="dynamicSqlSessionTemplate" class="com.mqy.mybatis.support.Dynamic
- js控制input输入框的方法封装(数字,中文,字母,浮点数等)
qifeifei
javascript js
在项目开发的时候,经常有一些输入框,控制输入的格式,而不是等输入好了再去检查格式,格式错了就报错,体验不好。 /** 数字,中文,字母,浮点数(+/-/.) 类型输入限制,只要在input标签上加上 jInput="number,chinese,alphabet,floating" 备注:floating属性只能单独用*/
funct
- java 计时器应用
tangqi609567707
javatimer
mport java.util.TimerTask; import java.util.Calendar; public class MyTask extends TimerTask { private static final int
- erlang输出调用栈信息
wudixiaotie
erlang
在erlang otp的开发中,如果调用第三方的应用,会有有些错误会不打印栈信息,因为有可能第三方应用会catch然后输出自己的错误信息,所以对排查bug有很大的阻碍,这样就要求我们自己打印调用的栈信息。用这个函数:erlang:process_display (self (), backtrace).需要注意这个函数只会输出到标准错误输出。
也可以用这个函数:erlang:get_s