- WebKit架构深度探索:架构、原理与实践
猫头虎
前端技术专区webkit架构前端visualstudiovscodepycharmintellij-idea
博主猫头虎的技术世界欢迎来到猫头虎的博客—探索技术的无限可能!专栏链接:精选专栏:《面试题大全》—面试准备的宝典!《IDEA开发秘籍》—提升你的IDEA技能!《100天精通鸿蒙》—从Web/安卓到鸿蒙大师!《100天精通Golang(基础入门篇)》—踏入Go语言世界的第一步!《100天精通Go语言(精品VIP版)》—踏入Go语言世界的第二步!领域矩阵:猫头虎技术领域矩阵:深入探索各技术领域,发现知
- 鸿蒙内核解析,鸿蒙内核源码分析(内存概念篇)|解读鸿蒙源码
刘轩鸿
鸿蒙内核解析
提示:本文基于开源鸿蒙内核分析,官方源码【kernel_liteos_a】官方文档【docs】参考文档【HuaweiLiteOS】本文作者:鸿蒙内核发烧友,用生活场景讲故事的方式去解构内核,一窥究竟,让神秘的内核栩栩如生,浮现眼前。博文全部原创,持续更新,敬请关注。内容仅代表个人观点,错误之处,欢迎大家指正完善。本系列全部文章进入鸿蒙源码分析(总目录)查看目录最难讲的章节坦白讲内存是整个系列里面最
- 鸿蒙(HarmonyOS)应用层开发知识点汇总
OH五星上将
移动开发鸿蒙开发HarmonyOSharmonyos鸿蒙开发移动开发分布式arkui组件化性能优化
由于不少粉丝朋友反馈,说网上的有些知识点记录的比较杂乱,学习起来很费时间!小编下面针对【鸿蒙】应用开发中的一些技术点做的整理归纳,希望下面的能够有效的帮助到大家:基础组件基础组件(text开发)基础组件(input开发)基础组件(button开发)基础组件(picker开发)基础组件(image开发)基础组件(image-animator开发)基础组件(rating开发)基础组件(slider开发
- 鸿蒙轻内核A核源码分析系列七 进程管理 (3)
OpenHarmony_小贾
OpenHarmony鸿蒙开发HarmonyOSharmonyos嵌入式硬件OpenHarmony鸿蒙嵌入式鸿蒙开发鸿蒙内核进程关联
本文记录下进程相关的初始化函数,如OsSystemProcessCreate、OsProcessInit、OsProcessCreateInit、OsUserInitProcess、OsDeInitPCB、OsUserInitProcessStart等。1、LiteOS-A内核进程创建初始化通用函数先看看一些内部函数,不管是初始化用户态进程还是内核态进程,都会使用这些函数,包含进程控制块初始化函数
- 鸿蒙轻内核A核源码分析系列五 虚实映射(6)虚拟映射修改转移
OpenHarmony_小贾
鸿蒙开发HarmonyOSOpenHarmonyharmonyosOpenHarmony移动开发驱动开发鸿蒙内核
6.1映射属性修改函数LOS_ArchMmuChangeProt函数LOS_ArchMmuChangeProt用于修改进程空间虚拟地址区间的映射保护属性,其中参数archMmu为进程空间的MMU结构体,vaddr为虚拟地址,count为映射的页数,flags为映射使用的新标签属性信息。其中函数名称中的Prot是英文Protect的简写。⑴处对参数进行校验,⑵处查询虚拟地址映射的物理地址,如果没有映
- 鸿蒙轻内核A核源码分析系列五 虚实映射(1)基础概念
OpenHarmony_小贾
鸿蒙开发HarmonyOSOpenHarmonyharmonyos嵌入式硬件鸿蒙开发OpenHarmony鸿蒙嵌入式鸿蒙内核
虚实映射是指系统通过内存管理单元(MemoryManagementUnit,MMU)将进程空间的虚拟地址(VA)与实际的物理地址(PA)做映射,并指定相应的访问权限、缓存属性等。程序执行时,CPU访问的是虚拟内存,通过MMU找到映射的物理内存,并做相应的代码执行或数据读写操作。MMU的映射由页表(PageTable)来描述,页表保存虚拟地址和物理地址的映射关系以及访问权限等。每个进程在创建的时候都
- 鸿蒙轻内核A核源码分析系列四(3) 虚拟内存
OpenHarmony_小贾
OpenHarmonyHarmonyOS鸿蒙开发harmonyosOpenHarmony鸿蒙内核移动开发驱动开发系统开发
4.2函数LOS_RegionAlloc函数LOS_RegionAlloc用于从地址空间中申请空闲的虚拟地址区间。参数较多,LosVmSpace*vmSpace指定虚拟地址空间,VADDR_Tvaddr指定虚拟地址,当为空时,从映射区申请虚拟地址;当不为空时,使用该虚拟地址。如果该虚拟地址已经被映射,会先相应的解除映射处理等。size_tlen指定要申请的地区区间的长度。UINT32regionF
- 鸿蒙轻内核A核源码分析系列四(1)虚拟内存进程空间编号
OpenHarmony_小贾
OpenHarmonyHarmonyOS鸿蒙开发harmonyos移动开发鸿蒙内核鸿蒙开发OpenHarmony
在熟悉下OpenHarmony鸿蒙轻内核提供的虚拟内存(Virtualmemory)管理模块之前,作为预备基础知识,我们先了解下虚拟内存进程空间编号,进程空间编号功能相对独立,源代码文件单独维护。涉及的头文件和C源代码文件分别为arch/arm/arm/include/los_asid.h和arch/arm/arm/src/los_asid.c。本文先介绍OpenHarmony鸿蒙轻内核LiteO
- 鸿蒙轻内核A核源码分析系列一 数据结构-双向循环链表
OpenHarmony_小贾
OpenHarmony鸿蒙开发HarmonyOS数据结构harmonyos链表OpenHarmony移动开发鸿蒙内核鸿蒙开发
在学习OpenHarmony鸿蒙轻内核源代码的时候,常常会遇到一些数据结构的使用。如果没有掌握它们的用法,会导致阅读源代码时很费解、很吃力。本文会给读者介绍源码中重要的数据结构,双向循环链表DoublyLinkedList。在讲解时,会结合数据结构相关绘图,培养读者们的数据结构的平面想象能力,帮助更好的学习和理解这些数据结构的用法。本文中所涉及的源码,以OpenHarmonyLiteOS-A内核为
- 零基础开始学习鸿蒙开发-继页面跳转后,页面参数的传递与接收。
心之所想,行则将至
鸿蒙基础开发介绍专栏学习
目录1.首先,我们简单的创建两个页面,即ToParamPage和AccetParamPage。使用方舟编译器可以快速的创建页面,如下图所示,选中Page选项,即可轻松创建Page页面。2.页面的路由传参主要是通过router.pushUrl方法实现,pushUrl方法有两个参数,一个是url,另一个是params,第一个是要跳转页面的路径(这个路径必须在main_pages.json里面配置才能使
- 零基础开始学习鸿蒙开发-登录界面获取参数的值,并且发送参数请求后台登录,经过后台校验即可登录成功
心之所想,行则将至
鸿蒙基础开发介绍专栏学习
上代码之前,我们需要注意两点:一、首先要添加鸿蒙的网络权限,如果不添加权限,后面代码完成之后,可能请求失败。二、鸿蒙模拟器不支持本地localhost、127.0.01本地地址的请求,所有的请求只能通过公网发起请求。三、添加权限的方法:1).找到项目的module.json5文件夹,在此文件夹添加如下代码:"requestPermissions":[{"name":"ohos.permission
- 【鸿蒙HarmonyOS开发笔记】使用@Preview装饰器预览组件
Luxine.
鸿蒙HarmonyOS开发笔记前端分享笔记华为harmonyos
概述ArkTS应用/服务支持组件预览,要求compileSdkVersion为8或以上。组件预览支持实时预览,不支持动态图和动态预览。组件预览通过在组件前添加注解@Preview实现,在单个源文件中,最多可以使用10个@Preview装饰自定义组件。@Preview的使用参考如下示例@Preview({title:'FoodImage'})@ComponentstructFoodImageDisp
- 【鸿蒙实战开发】HarmonyOS-状态管理
代码改变世界996
前端鸿蒙安卓harmonyos华为ui鸿蒙安卓
前言本文基于鸿蒙Nextbeta1,beta2的新特性暂未深入研究和使用,且目前beta2已经可以试用。现在客户端所流行的结构无非就是MVVM或者MVI。MVI的特点是不仅把数据变化做了响应,连交互都封装了,鸿蒙目前最适合的是MVVM。鸿蒙使用声明式UI开发框架,那么和所有的流行的大前端框架一样,我们需要处理前端组件间的数据通信和变化响应,也就是所谓的状态管理。而MVVM中的viewmodel可以
- 鸿蒙OS之UI架构解析
爱桥代码的程序媛
鸿蒙harmonyosui架构鸿蒙开发鸿蒙系统ArkUI移动开发
初步布局Index当我们新建一个工程之后,首先会进入Index页。我们先简单的做一个文章列表的显示classArticle{title?:stringdesc?:stringlink?:string}@Entry@ComponentstructIndex{@Statearticles:Article[]=[]build(){Row(){Scroll(){Column(){ForEach(this.
- OpenHarmony 5.0 纯血鸿蒙系统
ejinxian
harmonyos华为
OpenHarmony-v5.0-Beta1版本已于2024-06-20发布。OpenHarmony5.0Beta1版本标准系统能力持续完善,ArkUI完善了组件通过CAPI调用的能力;应用框架细化了生命周期管理能力,完善了应用拉起、跳转的能力;分布式软总线连接能力和规格进一步增强;媒体完善了框架能力、视频编解码能力、音视频的应用能力,媒体库丰富了使用场景,提供更好的使用体验。OpenHarmon
- 纯血鸿蒙APP实战开发——评论组件案例实现
「已注销」
harmonyOS鸿蒙开发移动开发harmonyos前端界面布局移动开发ui
介绍评论组件在目前市面上的短视频app中是一种很常见的场景,本案例使用【全局状态保留能力弹窗】来实现评论组件。点击评论按钮弹出评论组件,点击空白处隐藏该组件,再次点击评论按钮则会恢复上一次浏览的组件状态。效果图预览使用说明点击评论按钮打开评论组件。上下滑动可以浏览评论。点击空白处或者关闭按钮可以关闭评论组件。再次点击评论按钮则恢复上一次浏览评论位置。实现思路使用GlobalStateDialogM
- 鸿蒙轻内核M核源码分析系列二十 Newlib C
OpenHarmony_小贾
HarmonyOS鸿蒙开发OpenHarmonyharmonyosc语言移动开发鸿蒙内核鸿蒙开发openharmony开发语言
LiteOS-M内核LibC实现有2种,可以根据需求进行二选一,分别是musllibC和newlibc。本文先学习下NewlibC的实现代码。文中所涉及的源码,均可以在开源站点https://gitee.com/openharmony/kernel_liteos_m获取。使用MuslC库的时候,内核提供了基于LOS_XXX适配实现pthread、mqeue、fs、semaphore、time等模块
- 鸿蒙轻内核M核源码分析系列十七(2) 异常钩子函数的注册操作
OpenHarmony_小贾
OpenHarmonyHarmonyOS鸿蒙开发harmonyos移动开发openharmony鸿蒙开发鸿蒙内核HarmonyOS嵌入式硬件
本文中所涉及的源码,以OpenHarmonyLiteOS-M内核为例,均可以在开源站点https://gitee.com/openharmony/kernel_liteos_m获取。鸿蒙轻内核异常钩子模块代码主要在components\exchook目录下。异常钩子函数的注册、解注册、异常钩子类型定义在utils\los_debug.h|.c。1、异常钩子函数节点结构体和异常钩子函数节点数组在文件
- 鸿蒙轻内核M核源码分析系列十五 CPU使用率CPUP
OpenHarmony_小贾
OpenHarmony鸿蒙开发HarmonyOSharmonyos鸿蒙内核移动开发数据结构OpenHarmony性能优化嵌入式硬件
CPUP(CentralProcessingUnitPercentage,CPU占用率)分为系统CPU占用率和任务CPU占用率。用户通过系统级的CPU占用率,判断当前系统负载是否超出设计规格。通过系统中各个任务的CPU占用情况,判断各个任务的CPU占用率是否符合设计的预期。系统CPU占用率是指周期时间内系统的CPU占用率,用于表示系统一段时间内的闲忙程度,也表示CPU的负载情况。系统CPU占用率的
- 鸿蒙轻内核M核源码分析系列十六 MPU内存保护单元
OpenHarmony_小贾
HarmonyOS鸿蒙开发OpenHarmonyharmonyos嵌入式硬件鸿蒙嵌入式鸿蒙开发OpenHarmony鸿蒙内核移动开发
本文主要分析鸿蒙轻内核MPU模块的的源码。本文中所涉及的源码,以OpenHarmonyLiteOS-M内核为例,均可以在开源站点https://gitee.com/openharmony/kernel_liteos_m获取。鸿蒙轻内核支持的ARMCortex-M芯片架构都支持MPU的,代码都是一样的,以kernel\arch\arm\cortex-m4\gcc\los_mpu.c为例进行讲解。1、
- 鸿蒙轻内核M核源码分析系列十三 消息队列Queue
OpenHarmony_小贾
鸿蒙开发HarmonyOSOpenHarmony移动开发鸿蒙内核HarmonyOSopenharmony鸿蒙开发消息队列嵌入式硬件
队列(Queue)是一种常用于任务间通信的数据结构。任务能够从队列里面读取消息,当队列中的消息为空时,挂起读取任务;当队列中有新消息时,挂起的读取任务被唤醒并处理新消息。任务也能够往队列里写入消息,当队列已经写满消息时,挂起写入任务;当队列中有空闲消息节点时,挂起的写入任务被唤醒并写入消息。如果将读队列和写队列的超时时间设置为0,则不会挂起任务,接口会直接返回,这就是非阻塞模式。消息队列提供了异步
- 鸿蒙HarmonyOS应用开发之使用Node-API接口进行线程安全开发
OpenHarmony_小贾
移动开发HarmonyOSOpenHarmonyharmonyos安全华为移动开发物联网APP
场景介绍napi_create_threadsafe_function是Node-API接口之一,用于创建一个线程安全的JavaScript函数。主要用于在多个线程之间共享和调用,而不会出现竞争条件或死锁。例如以下场景:异步计算:如果需要进行耗时的计算或IO操作,可以创建一个线程安全的函数,将计算或IO操作放在另一个线程中执行,避免阻塞主线程,提高程序的响应速度。数据共享:如果多个线程需要访问同一
- 鸿蒙(Harmony)、安卓(Android)、AOSP
xiphi1978
android内核
鸿蒙(Harmony)、安卓(Android)、AOSP华为鸿蒙2.0发布,铺天盖地的关于鸿蒙的文章,有点晕,也不太能看得懂,很惭愧,所以特意查了一下,感觉能够科普到能看懂相关新闻的程度。例如AOSP,GWS,HWS等,和大家分享一下:先说关键概念AOSP是什么我们都知道Andriod是一个开源系统,指的就是AOSP,就是AndroidOpenSoftwareProject的缩写,这个系统是goo
- 鸿蒙初辟原无姓 打破顽空须悟空 之 再探死锁
先天无极编程圣体
c++
死锁形成的必要条件详解死锁是并发系统中的一个常见问题,其发生需要同时满足四个必要条件。这些条件被称为Coffman条件,以计算机科学家EdwardG.CoffmanJr.的名字命名。理解这些条件对于预防和解决死锁问题至关重要。1.互斥条件(MutualExclusion)定义至少有一个资源必须处于非共享模式,即一次只能被一个进程使用。详细解释互斥意味着资源在同一时间只能被一个进程占用。这种资源通常
- 鸿蒙 HarmonyOS NEXT应用开发案例集
小北编程
HarmonyOSharmonyos华为
✍️作者简介:小北编程(专注于HarmonyOS、Android、Java、Web、TCP/IP等技术方向)博客主页:开源中国、稀土掘金、51cto博客、博客园、知乎、简书、慕课网、CSDN如果文章对您有一定的帮助请关注✨、点赞、收藏、评论。如需转载请参考【转载须知】文章目录概述分层架构设计应用通用开发范例App分层架构模块化设计应用通用开发范例App模块化结构工程框架和实现设计产品定制层基础特性
- 华为鸿蒙系统和安卓的区别
樂小伍
华为harmonyosandroid
华为鸿蒙系统和安卓系统在多个方面存在显著差异,以下是对两者区别的详细分析:一、开发商与背景鸿蒙系统:由中国的华为公司主导开发,旨在创造一个超级虚拟终端互联的世界,将人、设备、场景有机地联系在一起。自2012年开始规划,并于2019年8月9日正式发布HarmonyOS1.0,随后陆续推出了HarmonyOS2.0、HarmonyOS3.0及HarmonyOS4.0等多个版本。安卓系统:由美国的谷歌公
- 鸿蒙南向开发之OpenHarmony自定义组件
OH五星上将
鸿蒙移动开发OpenHarmonyopenharmony嵌入式硬件鸿蒙开发分布式组件化移动开发ArkUI
一、创建自定义组件在ArkUI中,UI显示的内容均为组件,由框架直接提供的称为系统组件,由开发者定义的称为自定义组件。在进行UI界面开发时,通常不是简单的将系统组件进行组合使用,而是需要考虑代码可复用性、业务逻辑与UI分离,后续版本演进等因素。因此,将UI和部分业务逻辑封装成自定义组件是不可或缺的能力。自定义组件具有以下特点:●可组合:允许开发者组合使用系统组件、及其属性和方法。●可重用:自定义组
- 鸿蒙 装饰器 @State、@Prop、@Link 等说明
积跬步DEV
鸿蒙NEXT开发实战harmonyos
首先要明白什么是“状态变量”?即被状态装饰器(@State、@Prop、@Link、@Provide、@Consume)修饰的变量,比如@Statestr:string='';str就是状态变量。状态变量值的改变会引起UI界面重新渲染。@State@State装饰的变量,是私有的,只能被组件内部访问,在声明时必须指定其类型和本地初始化。@Prop父组件与子组件单向同步,@Prop装饰的变量变化后不
- 西游记
Gukun
在陆地上有四大部洲,称为东胜神州,称为南蟾部洲,称为西牛贺州,称为北俱芦洲。东胜神州中,有一个傲来国,此国临近大海。而在海中有座山,被叫为花果山。这座山是所有洲的祖脉,三座仙岛的来处。自从开辟分辨清浊就出现,鸿蒙分辨后就形成。真的是座好山!山顶上有块石,石高三百六十五尺,按照周天三百六十五度,围圆二十四尺,按照二十四节气。石上有九窍八孔,按照九宫八卦。此石没有树荫遮挡,旁边却有芝兰相伴。感天地之精
- HarmonyOS Next全屏登录页面案例(1),HarmonyOS鸿蒙基础开发入门
2301_79054215
2024年程序员学习harmonyos华为
OtherWaysToLogin().transition(this.effect)}点击其他登录方式,切换过程涉及到组件的显示和消失,使用transition属性设置出现或消失转场。源码参考DefaultLoginOtherWaysToLogin().transition(this.effect)通过Stack组件,两个页面共用一个返回图标。源码参考DefaultLoginStack(){Ima
- Java实现的简单双向Map,支持重复Value
superlxw1234
java双向map
关键字:Java双向Map、DualHashBidiMap
有个需求,需要根据即时修改Map结构中的Value值,比如,将Map中所有value=V1的记录改成value=V2,key保持不变。
数据量比较大,遍历Map性能太差,这就需要根据Value先找到Key,然后去修改。
即:既要根据Key找Value,又要根据Value
- PL/SQL触发器基础及例子
百合不是茶
oracle数据库触发器PL/SQL编程
触发器的简介;
触发器的定义就是说某个条件成立的时候,触发器里面所定义的语句就会被自动的执行。因此触发器不需要人为的去调用,也不能调用。触发器和过程函数类似 过程函数必须要调用,
一个表中最多只能有12个触发器类型的,触发器和过程函数相似 触发器不需要调用直接执行,
触发时间:指明触发器何时执行,该值可取:
before:表示在数据库动作之前触发
- [时空与探索]穿越时空的一些问题
comsci
问题
我们还没有进行过任何数学形式上的证明,仅仅是一个猜想.....
这个猜想就是; 任何有质量的物体(哪怕只有一微克)都不可能穿越时空,该物体强行穿越时空的时候,物体的质量会与时空粒子产生反应,物体会变成暗物质,也就是说,任何物体穿越时空会变成暗物质..(暗物质就我的理
- easy ui datagrid上移下移一行
商人shang
js上移下移easyuidatagrid
/**
* 向上移动一行
*
* @param dg
* @param row
*/
function moveupRow(dg, row) {
var datagrid = $(dg);
var index = datagrid.datagrid("getRowIndex", row);
if (isFirstRow(dg, row)) {
- Java反射
oloz
反射
本人菜鸟,今天恰好有时间,写写博客,总结复习一下java反射方面的知识,欢迎大家探讨交流学习指教
首先看看java中的Class
package demo;
public class ClassTest {
/*先了解java中的Class*/
public static void main(String[] args) {
//任何一个类都
- springMVC 使用JSR-303 Validation验证
杨白白
springmvc
JSR-303是一个数据验证的规范,但是spring并没有对其进行实现,Hibernate Validator是实现了这一规范的,通过此这个实现来讲SpringMVC对JSR-303的支持。
JSR-303的校验是基于注解的,首先要把这些注解标记在需要验证的实体类的属性上或是其对应的get方法上。
登录需要验证类
public class Login {
@NotEmpty
- log4j
香水浓
log4j
log4j.rootCategory=DEBUG, STDOUT, DAILYFILE, HTML, DATABASE
#log4j.rootCategory=DEBUG, STDOUT, DAILYFILE, ROLLINGFILE, HTML
#console
log4j.appender.STDOUT=org.apache.log4j.ConsoleAppender
log4
- 使用ajax和history.pushState无刷新改变页面URL
agevs
jquery框架Ajaxhtml5chrome
表现
如果你使用chrome或者firefox等浏览器访问本博客、github.com、plus.google.com等网站时,细心的你会发现页面之间的点击是通过ajax异步请求的,同时页面的URL发生了了改变。并且能够很好的支持浏览器前进和后退。
是什么有这么强大的功能呢?
HTML5里引用了新的API,history.pushState和history.replaceState,就是通过
- centos中文乱码
AILIKES
centosOSssh
一、CentOS系统访问 g.cn ,发现中文乱码。
于是用以前的方式:yum -y install fonts-chinese
CentOS系统安装后,还是不能显示中文字体。我使用 gedit 编辑源码,其中文注释也为乱码。
后来,终于找到以下方法可以解决,需要两个中文支持的包:
fonts-chinese-3.02-12.
- 触发器
baalwolf
触发器
触发器(trigger):监视某种情况,并触发某种操作。
触发器创建语法四要素:1.监视地点(table) 2.监视事件(insert/update/delete) 3.触发时间(after/before) 4.触发事件(insert/update/delete)
语法:
create trigger triggerName
after/before 
- JS正则表达式的i m g
bijian1013
JavaScript正则表达式
g:表示全局(global)模式,即模式将被应用于所有字符串,而非在发现第一个匹配项时立即停止。 i:表示不区分大小写(case-insensitive)模式,即在确定匹配项时忽略模式与字符串的大小写。 m:表示
- HTML5模式和Hashbang模式
bijian1013
JavaScriptAngularJSHashbang模式HTML5模式
我们可以用$locationProvider来配置$location服务(可以采用注入的方式,就像AngularJS中其他所有东西一样)。这里provider的两个参数很有意思,介绍如下。
html5Mode
一个布尔值,标识$location服务是否运行在HTML5模式下。
ha
- [Maven学习笔记六]Maven生命周期
bit1129
maven
从mvn test的输出开始说起
当我们在user-core中执行mvn test时,执行的输出如下:
/software/devsoftware/jdk1.7.0_55/bin/java -Dmaven.home=/software/devsoftware/apache-maven-3.2.1 -Dclassworlds.conf=/software/devs
- 【Hadoop七】基于Yarn的Hadoop Map Reduce容错
bit1129
hadoop
运行于Yarn的Map Reduce作业,可能发生失败的点包括
Task Failure
Application Master Failure
Node Manager Failure
Resource Manager Failure
1. Task Failure
任务执行过程中产生的异常和JVM的意外终止会汇报给Application Master。僵死的任务也会被A
- 记一次数据推送的异常解决端口解决
ronin47
记一次数据推送的异常解决
需求:从db获取数据然后推送到B
程序开发完成,上jboss,刚开始报了很多错,逐一解决,可最后显示连接不到数据库。机房的同事说可以ping 通。
自已画了个图,逐一排除,把linux 防火墙 和 setenforce 设置最低。
service iptables stop
- 巧用视错觉-UI更有趣
brotherlamp
UIui视频ui教程ui自学ui资料
我们每个人在生活中都曾感受过视错觉(optical illusion)的魅力。
视错觉现象是双眼跟我们开的一个玩笑,而我们往往还心甘情愿地接受我们看到的假象。其实不止如此,视觉错现象的背后还有一个重要的科学原理——格式塔原理。
格式塔原理解释了人们如何以视觉方式感觉物体,以及图像的结构,视角,大小等要素是如何影响我们的视觉的。
在下面这篇文章中,我们首先会简单介绍一下格式塔原理中的基本概念,
- 线段树-poj1177-N个矩形求边长(离散化+扫描线)
bylijinnan
数据结构算法线段树
package com.ljn.base;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Set;
import java.util.TreeSet;
/**
* POJ 1177 (线段树+离散化+扫描线),题目链接为http://poj.org/problem?id=1177
- HTTP协议详解
chicony
http协议
引言
- Scala设计模式
chenchao051
设计模式scala
Scala设计模式
我的话: 在国外网站上看到一篇文章,里面详细描述了很多设计模式,并且用Java及Scala两种语言描述,清晰的让我们看到各种常规的设计模式,在Scala中是如何在语言特性层面直接支持的。基于文章很nice,我利用今天的空闲时间将其翻译,希望大家能一起学习,讨论。翻译
- 安装mysql
daizj
mysql安装
安装mysql
(1)删除linux上已经安装的mysql相关库信息。rpm -e xxxxxxx --nodeps (强制删除)
执行命令rpm -qa |grep mysql 检查是否删除干净
(2)执行命令 rpm -i MySQL-server-5.5.31-2.el
- HTTP状态码大全
dcj3sjt126com
http状态码
完整的 HTTP 1.1规范说明书来自于RFC 2616,你可以在http://www.talentdigger.cn/home/link.php?url=d3d3LnJmYy1lZGl0b3Iub3JnLw%3D%3D在线查阅。HTTP 1.1的状态码被标记为新特性,因为许多浏览器只支持 HTTP 1.0。你应只把状态码发送给支持 HTTP 1.1的客户端,支持协议版本可以通过调用request
- asihttprequest上传图片
dcj3sjt126com
ASIHTTPRequest
NSURL *url =@"yourURL";
ASIFormDataRequest*currentRequest =[ASIFormDataRequest requestWithURL:url];
[currentRequest setPostFormat:ASIMultipartFormDataPostFormat];[currentRequest se
- C语言中,关键字static的作用
e200702084
C++cC#
在C语言中,关键字static有三个明显的作用:
1)在函数体,局部的static变量。生存期为程序的整个生命周期,(它存活多长时间);作用域却在函数体内(它在什么地方能被访问(空间))。
一个被声明为静态的变量在这一函数被调用过程中维持其值不变。因为它分配在静态存储区,函数调用结束后并不释放单元,但是在其它的作用域的无法访问。当再次调用这个函数时,这个局部的静态变量还存活,而且用在它的访
- win7/8使用curl
geeksun
win7
1. WIN7/8下要使用curl,需要下载curl-7.20.0-win64-ssl-sspi.zip和Win64OpenSSL_Light-1_0_2d.exe。 下载地址:
http://curl.haxx.se/download.html 请选择不带SSL的版本,否则还需要安装SSL的支持包 2. 可以给Windows增加c
- Creating a Shared Repository; Users Sharing The Repository
hongtoushizi
git
转载自:
http://www.gitguys.com/topics/creating-a-shared-repository-users-sharing-the-repository/ Commands discussed in this section:
git init –bare
git clone
git remote
git pull
git p
- Java实现字符串反转的8种或9种方法
Josh_Persistence
异或反转递归反转二分交换反转java字符串反转栈反转
注:对于第7种使用异或的方式来实现字符串的反转,如果不太看得明白的,可以参照另一篇博客:
http://josh-persistence.iteye.com/blog/2205768
/**
*
*/
package com.wsheng.aggregator.algorithm.string;
import java.util.Stack;
/**
- 代码实现任意容量倒水问题
home198979
PHP算法倒水
形象化设计模式实战 HELLO!架构 redis命令源码解析
倒水问题:有两个杯子,一个A升,一个B升,水有无限多,现要求利用这两杯子装C
- Druid datasource
zhb8015
druid
推荐大家使用数据库连接池 DruidDataSource. http://code.alibabatech.com/wiki/display/Druid/DruidDataSource DruidDataSource经过阿里巴巴数百个应用一年多生产环境运行验证,稳定可靠。 它最重要的特点是:监控、扩展和性能。 下载和Maven配置看这里: http
- 两种启动监听器ApplicationListener和ServletContextListener
spjich
javaspring框架
引言:有时候需要在项目初始化的时候进行一系列工作,比如初始化一个线程池,初始化配置文件,初始化缓存等等,这时候就需要用到启动监听器,下面分别介绍一下两种常用的项目启动监听器
ServletContextListener
特点: 依赖于sevlet容器,需要配置web.xml
使用方法:
public class StartListener implements
- JavaScript Rounding Methods of the Math object
何不笑
JavaScriptMath
The next group of methods has to do with rounding decimal values into integers. Three methods — Math.ceil(), Math.floor(), and Math.round() — handle rounding in differen