- skynet 源码阅读 -- timer 的实现原理
Winston-Tao
skynet源码阅读c语言skynettimer时间轮算法
1.Timer驱动的核心流程1.1Timer线程驱动以下是timer线程的核心流程代码。Skynet的Timer模块是通过一个单独的线程(thread_timer)来定期更新定时器的状态。每隔2500微秒(2.5ms)更新一次定时器的状态。ps:为什么是2500?staticvoid*thread_timer(void*p){structmonitor*m=p;skynet_initthread(
- c++常见设计模式之装饰器模式
_DCG_
c++c++设计模式装饰器模式
基础介绍装饰器模式是结构型设计模式,从字面意思看装饰器设计模式就是用来解决在原有的实现基础上添加一些额外的实现的问题。那么正统的概念是什么呢?装饰器模式允许我们动态的向对象添加新的行为,同时不改变其原有的结构。它是一种比继承更灵活的扩展对象功能的方式。举个简单的例子,比如手机作为一个产品,希望在基础手机的基础上实现新增两个功能1,且不希望改变类原有的结构,这种情况下就需要使用到装饰器模式。实现原理
- SpringBoot实现各种参数校验,写得太好了,建议收藏!
白露与泡影
springbootjava后端
之前也写过一篇关于SpringValidation使用的文章,不过自我感觉还是浮于表面,本次打算彻底搞懂SpringValidation。本文会详细介绍SpringValidation各种场景下的最佳实践及其实现原理,死磕到底!简单使用JavaAPI规范(JSR303)定义了Bean校验的标准validation-api,但没有提供实现。hibernatevalidation是对这个规范的实现,并
- C++编程: 使用 std::enable_shared_from_this 解决多线程悬空指针(智能指针失效)
橘色的喵
C++c++智能指针悬空指针shared_ptrweak_ptrshared_from多线程
文章目录0.概要1.什么是`std::enable_shared_from_this`?2.`std::enable_shared_from_this`的作用3.解决悬空指针访问的问题4.无法解决的竞态条件5.enable_shared_from_this的实现原理5.1原理阐述5.2原理伪代码示例5.3原理示意图6.使用`enable_shared_from_this`常见错误情形1:情形2:其
- 多版本并发控制:MVCC的作用和基本原理
koping_wu
mysql数据库
多版本并发控制:MVCC的作用和基本原理1、MVCC简介1.1快照读与当前读的区别1.1.1快照读1.1.2当前读1.2数据库的读写问题1.3MVCC的作用2、MVCC实现原理之ReadView2.1什么是ReadView2.2ReadView的设计思路2.3MVCC整体操作流程1、MVCC简介1.1快照读与当前读的区别mysql在读数据的场景下,根据是否加锁分为了2种读的方式:1.1.1快照读不
- 安卓图形化开发!Android插件化主流框架和实现原理,值得收藏!
赵是水瓶座
程序员Android
前言先介绍一下自己吧,不是什么二本渣校也不是什么非专业。我就是重点大学毕业,大学学的是Java,我个人比较乐于学习于是自学Android一年。趁着这次疫情,大洗牌我凭借天生优势,——聪明的脑袋以及自己不断地刻苦的学习,在一众高手之中成功脱颖而出。现在网上都喜欢这么搞,哪有这么多二本渣校逆袭。年薪50w+都是吹出来的,只有你正真拿到年薪50w+你才知道,你要做多少事,付出多少。目录:1.网络2.Ja
- 用Python生成新春烟花效果:实现与解析
一休哥助手
pygamepython开发语言
引言新春佳节到来之际,烟花的璀璨绽放象征着喜庆和热闹。如果能通过代码在屏幕上生成烟花效果,既能增加节日的趣味,也能加深对编程的理解。本篇博客将详细介绍如何使用Python生成新春烟花效果,包括实现原理、代码解析以及常见问题的解决方案,帮助读者在实践中体验编程的乐趣。一、烟花效果的基本原理烟花效果的实现需要模拟以下几个关键过程:烟花发射:模拟烟花从底部发射到空中的过程。爆炸中心:烟花到达顶点后形成爆
- @LoadBalanced注解的实现原理
DanceDonkey
客户端负载均衡RestTemplateSpringCloudRPC
@LoadBalanced@LoadBalanced注解通常结合RestTemplate使用,RestTemplate是SpringCloud提供的一个编程式的实现远程过程调用的组件,简单来说就是可以实现发送http请求。但是在基于服务发现发送请求时,RestTemplate自己无法实现负载均衡,通常要标注@LoadBalanced。虽然之后一个RestTemplate对象,但这个对象是线程安全的
- WPF4-代码后置
苏克贝塔
wpfwpf
1.什么是代码后置2.为什么WPF需要代码后置?2.1.分离关注点(SeparationofConcerns)2.2.事件驱动编程2.3.数据绑定和动态内容2.4.与UI控件的交互2.5.可重用性和模块化2.6.易于调试和单元测试3.WPF中代码后置的实现原理4.代码后置的组成5.代码后置与MVVM模式6.总结1.什么是代码后置在WPF(WindowsPresentationFoundation)
- 安全运维:入侵检测与防御实战指南
Echo_Wish
让你快速入坑运维运维探秘安全运维
在当今的互联网时代,网络安全已经成为企业和个人都必须重视的关键问题之一。黑客攻击、恶意软件、数据泄露等威胁不断增加,而入侵检测和防御技术是保障信息系统安全的核心手段。本文将围绕如何通过入侵检测(IntrusionDetectionSystem,IDS)和防御技术来保护网络环境展开,结合实际代码示例,详细讲解实现原理与防御方案。1.什么是入侵检测与防御?入侵检测系统(IDS)是监控计算机网络或系统活
- RabbitMQ高级特性 - 事务消息
陈亦康
面试总结rabbitmqruby分布式
文章目录RabbitMQ事务消息概述实现原理代码实现不采用事务采用事务RabbitMQ事务消息概述RabbitMQ的AMQP协议实现了事务机制,允许开发者保证消息的发送和接收时原子性的,也就是说,要么消息全都发送成功,要么全都发送失败(只与发送方有关).实现原理AMQP事务实现类似于传统数据库事务,允许在一个事务中发送多条消息,并在最后提交或回滚.事务开始:客户端发送tx.select方法,Rab
- Containerd 插件系统深度解析
前言Containerd是一个工业级的容器运行时,其插件系统是其架构中最核心的部分之一。本文将深入解析containerd的插件机制,帮助读者理解其设计理念和实现原理。1.插件系统概述1.1设计目标模块化:将功能解耦为独立插件可扩展性:支持动态添加新功能类型安全:基于Go接口的类型检查依赖管理:自动处理插件间依赖关系1.2核心概念typeRegistrationstruct{TypeTypeIDs
- ovs实现lb负载均衡
阿狸的家
OVS云计算负载均衡运维云计算ovs
负载均衡定义负载均衡器的实现原理是通过硬件或软件设备将客户端访问流量根据转发策略分发到多个服务器或设备上,以确保系统的负载均衡。常见的实现方式包括:二层负载均衡:使用虚拟MAC地址方式,根据OSI模型的二层进行负载均衡。四层负载均衡:基于IP+端口的负载均衡,主要分析IP层及TCP/UDP层,实现四层负载均衡。七层负载均衡:从应用层开始,根据虚拟的URL或IP、主机名接收请求,再转向相应
- vue中MVVM实现原理
danniyedan
httpshtmlc++
往页面中添加数据,从传统的dom操作,改变成数据层操作。不需要关注dom层操作,专注于操作数据,数据是什么,页面就显示什么。最常用的是用vue-cli脚手架的方式来创建一个项目。它是以一种单文件组件的方式,即为.vue文件,它里面包含了模板、业务逻辑和样式。响应式数据绑定,当数据(model层)发生改变,它会自动更新视图(view),内部实现原理是利用Es5中的Object.definedProp
- Flutter核心原理(Flutter UI 框架(Framework)+Element、BuildContext和RenderObject )
彳饕餮亍
flutter
什么是UI框架?UI框架是在特定平台上实现快速开发图形用户界面(GUI)的框架。它解决了如何基于基础的图形API(如Canvas)来封装一套高效创建UI的工具集的问题。每个平台的UI框架实现原理基本相通,无论是Android还是iOS,它们将用户界面展示到屏幕的流程都是类似的。UI框架的作用是简化开发人员在特定平台上创建GUI的过程,提供高效且易于使用的工具和组件,使开发者能够快速构建各种用户界面
- 深入浅出的聊聊 Agent
程序员鑫港
人工智能数据库知识图谱深度学习机器学习
今天,我想和你一起聊聊Agent(智能体),从它的起源、特点,到关键的知识点,以及现实中的应用和实现原理。希望能帮助你更深入地了解这个既有趣又重要的领域。前排提示,文末有大模型AGI-CSDN独家资料包哦!一、Agent的起源1.什么是Agent你可能会问,Agent到底是什么呢?简单来说,Agent就是能够在一定环境中自主感知、决策和行动的实体。它可以是一个软件程序、一个机器人,甚至是一个复杂的
- Vue 3.5 中的 useId:深入解析与应用实践
程序员
随着Vue3.5的发布,开发者们迎来了许多新特性和改进。其中,useId是一个备受关注的工具函数,它为开发者提供了一种简单而高效的方式来生成唯一的ID。本文将深入解析useId的实现原理、使用场景以及在实际项目中的应用实践。一、什么是useId?useId是Vue3.5中引入的一个CompositionAPI函数,用于生成唯一的ID。它的主要用途是为组件或DOM元素分配唯一的标识符,避免在SSR(
- 技术选型指南:Web、原生、混合开发的对比
前端
随着移动互联网的飞速发展,开发者在选择应用开发方式时,经常面临纯Web开发、原生开发和混合开发的技术决策。每种开发方式都有其独特的优势和适用场景,开发者需根据项目需求、性能要求及跨平台能力做出合适的选择。本文将详细分析这三种开发方式的特点、实现原理及适用场景,同时推荐一些开源框架,并讲解微信小程序的实现方式。我们还将通过简单的代码示例,帮助大家更直观地理解这些技术。一、纯Web开发定义:纯Web开
- 深入剖析Vue的provide与inject:如何实现跨层级数据共享
后端
引言在Vue开发中,provide与inject是两个非常有用的特性,它们常用于父子组件关系之外的跨层级数据传递。相比于props和$emit的传统方式,provide和inject可以更轻松地在多个组件之间传递数据,尤其是在深层嵌套的组件树中。它们在Vue2.2版本首次引入,Vue3中也得到了进一步的优化。尽管provide和inject的使用看起来非常简单,但其背后隐藏了复杂的实现原理。在这篇
- Mysql--实战篇--@Transactional失效场景及避免策略(@Transactional实现原理,失效场景,内部调用问题等)
weisian151
Mysql篇mysql数据库
在Spring框架中,@Transactional注解用于声明式事务管理,能够简化事务的处理逻辑。然而,在某些情况下,@Transactional可能会失效,导致事务无法按预期工作。了解这些失效场景及其原因,可以帮助你更好地管理和调试事务问题。1、@Transactional失效的常见场景(1)、方法非public访问权限@Transactional注解通常只能应用于public方法上。如果将其应
- Redis 持久化机制:RDB 和 AOF
maply
Redisredis数据库缓存RDBAOF
Redis持久化机制:RDB和AOFRedis主要提供了两种持久化方式:**RDB(RedisDatabase)**和AOF(Append-OnlyFile)。它们各自的实现原理、优缺点以及适用场景如下。1.RDB(RedisDatabase)原理1.1RDB机制RDB采用快照(Snapshotting)方式定期将内存中的数据持久化到磁盘。Redis会在特定时间点创建数据的二进制快照并存储到.rd
- Chapter Two:无限debugger的原理与绕过与断点调试
Amo Xiang
爬虫实战javascript前端无限debugger
目录1.无限debugger的原理与绕过1.1案例介绍1.2实现原理1.3禁用断点1.4补充:改写JavaScript文件2.断点调试1.无限debugger的原理与绕过1.1案例介绍debugger是JavaScript中定义的一个专门用于断点调试的关键字,只要遇到它,JavaScript的执行便会在此处中断,进入调试模式。有了debugger这个关键字,我们就可以非常方便地对JavaScrip
- 深入探讨Kafka:架构、实现原理与开发实践
Ceramist
kafka架构分布式
深入探讨Kafka:架构、实现原理与开发实践ApacheKafka是一个高性能的分布式流处理平台,广泛应用于实时数据处理、日志收集、消息发布/订阅等领域。本文将详细解析Kafka的架构、实现原理,并提供一些开发中的注意事项,帮助读者更好地理解和使用Kafka。一、Kafka简介Kafka由LinkedIn开发,并于2011年开源,2012年成为Apache顶级项目。Kafka的设计目标是为处理实时
- HC-SR04超声波模块关于stm32的使用
又又(づ ●─● )づ
stm32
先说模块的使用引脚VCCTrigEchoGND共四个引脚,它实现原理就是给Trig引脚一个高电平持续10us之后拉低,这个时候他就会产生发射超声波,同时它的Echo引脚会输出高电平,直到它接到反射回来的超声波之后它就会置低,所以要想测距的话我们只需要写一个捕获程序,来捕获它的高电平持续的时间就可以间接的计算出距离。(具体的工作原理其他博主写得都很好可以参考他们的)下面就是代码实现用TIM3定时中断
- mysql MVCC
秦淼
数据库javadatabase
简介MVCC(Multi-VersionConcurrencyControl)即多版本并发控制。MVCC的实现原理我们在了解MVCC之前,首先先了解一下几个比较常见的锁。读锁:也叫共享锁、S锁,若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。这保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。写锁:又称排他
- PG vs MySQL mvcc机制实现的异同
进击的CJR
postgresqlmysqlmysql数据库
MVCC实现方法比较MySQL写新数据时,把旧数据写入回滚段中,其他人读数据时,从回滚段中把旧的数据读出来PostgreSQL写新数据时,旧数据不删除,直接插入新数据。MVCC实现的原理PG的MVCC实现原理定义多版本的数据——使用元组头部信息的字段来标示元组的版本号定义数据的有效性、可见性、可更新性——通过当前的事务快照和对应元组的版本号判断实现不同的数据库隔离级别——通过在不同时机获取快照实现
- C++归并排序算法深度解析
小小的博客
排序算法排序算法算法数据结构c++开发语言
引言归并排序(MergeSort)是一种常用的排序算法,它采用了分治(DivideandConquer)的策略,将一个待排序的序列分解成若干个小的子序列,分别进行排序,再将这些已经排好序的子序列合并成一个完整的有序序列。归并排序具有很好的稳定性,时间复杂度为O(nlogn),在实际应用中表现优秀。本文将详细介绍归并排序算法的实现原理、C++代码实现以及在实际应用中的优化策略。归并排序算法原理归并排
- golang map原理
悟空丶123
golang开发语言后端
map的实现原理map的定义map是由一组key,value键值对组成的抽象数据结构,并且同一个key只会出现一次。常见map操作add增加k-vremove删除k-vreassign修改k-vlookup查询k-v增删改查的操作。golang里的map结构主要有两种数据结构哈希查找表Hashtable哈希查找表用一个哈希函数将key分配到不同的桶。哈希查找表一般会存在碰撞问题,简而言之,不同的k
- Golang map实现原理及源码分析
Aeiu
Golanggolang源码后端
本文涉及到的源码版本为GoSDK1.16.11、map的基本结构map是Golang中的一种常用数据结构,其本质上是一种哈希表,类似于java的HashMap以及Python的字典(dict),是一种存储键值对(Key-Value)的数据结构。一般的Map会包含两个主要结构:数组:数组里的值指向一个链表链表:目的解决hash冲突的问题,并存放键值而在Golang中,解决hash冲突的不是链表,而是
- Golang面试题四(并发编程)
os-lee
go高级golang开发语言后端
目录1.Go常见的并发模型2.哪些方法安全读写共享变量3.如何排查数据竞争问题4.Go有哪些同步原语1.Mutex(互斥锁)2.RWMutex(读写互斥锁)3.Atomic3.1.使用场景3.2.整型操作3.3.指针操作3.4.使用示例4.Channel使用场景使用示例5.sync.WaitGroup使用场景使用示例内部结构关键方法源码解析内部实现细节6.sync.Once使用场景使用示例实现原理
- 开发者关心的那些事
圣子足道
ios游戏编程apple支付
我要在app里添加IAP,必须要注册自己的产品标识符(product identifiers)。产品标识符是什么?
产品标识符(Product Identifiers)是一串字符串,它用来识别你在应用内贩卖的每件商品。App Store用产品标识符来检索产品信息,标识符只能包含大小写字母(A-Z)、数字(0-9)、下划线(-)、以及圆点(.)。你可以任意排列这些元素,但我们建议你创建标识符时使用
- 负载均衡器技术Nginx和F5的优缺点对比
bijian1013
nginxF5
对于数据流量过大的网络中,往往单一设备无法承担,需要多台设备进行数据分流,而负载均衡器就是用来将数据分流到多台设备的一个转发器。
目前有许多不同的负载均衡技术用以满足不同的应用需求,如软/硬件负载均衡、本地/全局负载均衡、更高
- LeetCode[Math] - #9 Palindrome Number
Cwind
javaAlgorithm题解LeetCodeMath
原题链接:#9 Palindrome Number
要求:
判断一个整数是否是回文数,不要使用额外的存储空间
难度:简单
分析:
题目限制不允许使用额外的存储空间应指不允许使用O(n)的内存空间,O(1)的内存用于存储中间结果是可以接受的。于是考虑将该整型数反转,然后与原数字进行比较。
注:没有看到有关负数是否可以是回文数的明确结论,例如
- 画图板的基本实现
15700786134
画图板
要实现画图板的基本功能,除了在qq登陆界面中用到的组件和方法外,还需要添加鼠标监听器,和接口实现。
首先,需要显示一个JFrame界面:
public class DrameFrame extends JFrame { //显示
- linux的ps命令
被触发
linux
Linux中的ps命令是Process Status的缩写。ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。
要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而 ps 命令就是最基本同时也是非常强大的进程查看命令。使用该命令可以确定有哪些进程正在运行
- Android 音乐播放器 下一曲 连续跳几首歌
肆无忌惮_
android
最近在写安卓音乐播放器的时候遇到个问题。在MediaPlayer播放结束时会回调
player.setOnCompletionListener(new OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
mp.reset();
Log.i("H
- java导出txt文件的例子
知了ing
javaservlet
代码很简单就一个servlet,如下:
package com.eastcom.servlet;
import java.io.BufferedOutputStream;
import java.io.IOException;
import java.net.URLEncoder;
import java.sql.Connection;
import java.sql.Resu
- Scala stack试玩, 提高第三方依赖下载速度
矮蛋蛋
scalasbt
原文地址:
http://segmentfault.com/a/1190000002894524
sbt下载速度实在是惨不忍睹, 需要做些配置优化
下载typesafe离线包, 保存为ivy本地库
wget http://downloads.typesafe.com/typesafe-activator/1.3.4/typesafe-activator-1.3.4.zip
解压r
- phantomjs安装(linux,附带环境变量设置) ,以及casperjs安装。
alleni123
linuxspider
1. 首先从官网
http://phantomjs.org/下载phantomjs压缩包,解压缩到/root/phantomjs文件夹。
2. 安装依赖
sudo yum install fontconfig freetype libfreetype.so.6 libfontconfig.so.1 libstdc++.so.6
3. 配置环境变量
vi /etc/profil
- JAVA IO FileInputStream和FileOutputStream,字节流的打包输出
百合不是茶
java核心思想JAVA IO操作字节流
在程序设计语言中,数据的保存是基本,如果某程序语言不能保存数据那么该语言是不可能存在的,JAVA是当今最流行的面向对象设计语言之一,在保存数据中也有自己独特的一面,字节流和字符流
1,字节流是由字节构成的,字符流是由字符构成的 字节流和字符流都是继承的InputStream和OutPutStream ,java中两种最基本的就是字节流和字符流
类 FileInputStream
- Spring基础实例(依赖注入和控制反转)
bijian1013
spring
前提条件:在http://www.springsource.org/download网站上下载Spring框架,并将spring.jar、log4j-1.2.15.jar、commons-logging.jar加载至工程1.武器接口
package com.bijian.spring.base3;
public interface Weapon {
void kil
- HR看重的十大技能
bijian1013
提升能力HR成长
一个人掌握何种技能取决于他的兴趣、能力和聪明程度,也取决于他所能支配的资源以及制定的事业目标,拥有过硬技能的人有更多的工作机会。但是,由于经济发展前景不确定,掌握对你的事业有所帮助的技能显得尤为重要。以下是最受雇主欢迎的十种技能。 一、解决问题的能力 每天,我们都要在生活和工作中解决一些综合性的问题。那些能够发现问题、解决问题并迅速作出有效决
- 【Thrift一】Thrift编译安装
bit1129
thrift
什么是Thrift
The Apache Thrift software framework, for scalable cross-language services development, combines a software stack with a code generation engine to build services that work efficiently and s
- 【Avro三】Hadoop MapReduce读写Avro文件
bit1129
mapreduce
Avro是Doug Cutting(此人绝对是神一般的存在)牵头开发的。 开发之初就是围绕着完善Hadoop生态系统的数据处理而开展的(使用Avro作为Hadoop MapReduce需要处理数据序列化和反序列化的场景),因此Hadoop MapReduce集成Avro也就是自然而然的事情。
这个例子是一个简单的Hadoop MapReduce读取Avro格式的源文件进行计数统计,然后将计算结果
- nginx定制500,502,503,504页面
ronin47
nginx 错误显示
server {
listen 80;
error_page 500/500.html;
error_page 502/502.html;
error_page 503/503.html;
error_page 504/504.html;
location /test {return502;}}
配置很简单,和配
- java-1.二叉查找树转为双向链表
bylijinnan
二叉查找树
import java.util.ArrayList;
import java.util.List;
public class BSTreeToLinkedList {
/*
把二元查找树转变成排序的双向链表
题目:
输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。
要求不能创建任何新的结点,只调整指针的指向。
10
/ \
6 14
/ \
- Netty源码学习-HTTP-tunnel
bylijinnan
javanetty
Netty关于HTTP tunnel的说明:
http://docs.jboss.org/netty/3.2/api/org/jboss/netty/channel/socket/http/package-summary.html#package_description
这个说明有点太简略了
一个完整的例子在这里:
https://github.com/bylijinnan
- JSONUtil.serialize(map)和JSON.toJSONString(map)的区别
coder_xpf
jqueryjsonmapval()
JSONUtil.serialize(map)和JSON.toJSONString(map)的区别
数据库查询出来的map有一个字段为空
通过System.out.println()输出 JSONUtil.serialize(map): {"one":"1","two":"nul
- Hibernate缓存总结
cuishikuan
开源sshjavawebhibernate缓存三大框架
一、为什么要用Hibernate缓存?
Hibernate是一个持久层框架,经常访问物理数据库。
为了降低应用程序对物理数据源访问的频次,从而提高应用程序的运行性能。
缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在特定的时刻或事件会同步缓存和物理数据源的数据。
二、Hibernate缓存原理是怎样的?
Hibernate缓存包括两大类:Hib
- CentOs6
dalan_123
centos
首先su - 切换到root下面1、首先要先安装GCC GCC-C++ Openssl等以来模块:yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel2、再安装ncurses模块yum -y install ncurses-develyum install ncurses-devel3、下载Erang
- 10款用 jquery 实现滚动条至页面底端自动加载数据效果
dcj3sjt126com
JavaScript
无限滚动自动翻页可以说是web2.0时代的一项堪称伟大的技术,它让我们在浏览页面的时候只需要把滚动条拉到网页底部就能自动显示下一页的结果,改变了一直以来只能通过点击下一页来翻页这种常规做法。
无限滚动自动翻页技术的鼻祖是微博的先驱:推特(twitter),后来必应图片搜索、谷歌图片搜索、google reader、箱包批发网等纷纷抄袭了这一项技术,于是靠滚动浏览器滚动条
- ImageButton去边框&Button或者ImageButton的背景透明
dcj3sjt126com
imagebutton
在ImageButton中载入图片后,很多人会觉得有图片周围的白边会影响到美观,其实解决这个问题有两种方法
一种方法是将ImageButton的背景改为所需要的图片。如:android:background="@drawable/XXX"
第二种方法就是将ImageButton背景改为透明,这个方法更常用
在XML里;
<ImageBut
- JSP之c:foreach
eksliang
jspforearch
原文出自:http://www.cnblogs.com/draem0507/archive/2012/09/24/2699745.html
<c:forEach>标签用于通用数据循环,它有以下属性 属 性 描 述 是否必须 缺省值 items 进行循环的项目 否 无 begin 开始条件 否 0 end 结束条件 否 集合中的最后一个项目 step 步长 否 1
- Android实现主动连接蓝牙耳机
gqdy365
android
在Android程序中可以实现自动扫描蓝牙、配对蓝牙、建立数据通道。蓝牙分不同类型,这篇文字只讨论如何与蓝牙耳机连接。
大致可以分三步:
一、扫描蓝牙设备:
1、注册并监听广播:
BluetoothAdapter.ACTION_DISCOVERY_STARTED
BluetoothDevice.ACTION_FOUND
BluetoothAdapter.ACTION_DIS
- android学习轨迹之四:org.json.JSONException: No value for
hyz301
json
org.json.JSONException: No value for items
在JSON解析中会遇到一种错误,很常见的错误
06-21 12:19:08.714 2098-2127/com.jikexueyuan.secret I/System.out﹕ Result:{"status":1,"page":1,&
- 干货分享:从零开始学编程 系列汇总
justjavac
编程
程序员总爱重新发明轮子,于是做了要给轮子汇总。
从零开始写个编译器吧系列 (知乎专栏)
从零开始写一个简单的操作系统 (伯乐在线)
从零开始写JavaScript框架 (图灵社区)
从零开始写jQuery框架 (蓝色理想 )
从零开始nodejs系列文章 (粉丝日志)
从零开始编写网络游戏 
- jquery-autocomplete 使用手册
macroli
jqueryAjax脚本
jquery-autocomplete学习
一、用前必备
官方网站:http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/
当前版本:1.1
需要JQuery版本:1.2.6
二、使用
<script src="./jquery-1.3.2.js" type="text/ja
- PLSQL-Developer或者Navicat等工具连接远程oracle数据库的详细配置以及数据库编码的修改
超声波
oracleplsql
在服务器上将Oracle安装好之后接下来要做的就是通过本地机器来远程连接服务器端的oracle数据库,常用的客户端连接工具就是PLSQL-Developer或者Navicat这些工具了。刚开始也是各种报错,什么TNS:no listener;TNS:lost connection;TNS:target hosts...花了一天的时间终于让PLSQL-Developer和Navicat等这些客户
- 数据仓库数据模型之:极限存储--历史拉链表
superlxw1234
极限存储数据仓库数据模型拉链历史表
在数据仓库的数据模型设计过程中,经常会遇到这样的需求:
1. 数据量比较大; 2. 表中的部分字段会被update,如用户的地址,产品的描述信息,订单的状态等等; 3. 需要查看某一个时间点或者时间段的历史快照信息,比如,查看某一个订单在历史某一个时间点的状态, 比如,查看某一个用户在过去某一段时间内,更新过几次等等; 4. 变化的比例和频率不是很大,比如,总共有10
- 10点睛Spring MVC4.1-全局异常处理
wiselyman
spring mvc
10.1 全局异常处理
使用@ControllerAdvice注解来实现全局异常处理;
使用@ControllerAdvice的属性缩小处理范围
10.2 演示
演示控制器
package com.wisely.web;
import org.springframework.stereotype.Controller;
import org.spring