- 操作系统-程序员的自我修养
HBryce24
java
一、温故而知新所有的应用程序都以进程process的方式运行在比操作系统权限更低的级别,每个进程都投自己独立的地址空间,使得进程之间的地址空间相互隔离。抢占式CPU分配方式:操作系统可以强制剥夺CPU资源并且分配给它认为目前最需要的进程。磁盘被抽象成普通的系统文件。CPU提供两条专门的指令“in”和“out”来实现对硬件端口的读和写。地址空间分为:虚拟地址空间、物理地址空间我们把程序给出的地址看作
- 【程序员的自我修养】8. Linux共享库的组织
杨主任o_o
linux运维服务器
共享库版本共享库兼容性更新方式:兼容更新:在原有的基础上添加内容,原有接口保持不变不兼容更新:原有接口改变,使用该共享库原有的接口程序可能不能允许或运行不正常ABI接口(二进制接口):包含函数的堆栈接口、符号命名、参数规则和数据结构的内存分布导致C语言共享库ABI改变的行为包括:函数的产生的结果和之前不一样函数被删除数据结构发生变化,如结构成员的删除、顺序改变等函数接口发生改变,如函数参数和返回值
- 【程序员的自我修养11】栈与函数调用过程
谢艺华
编译链接装载库java数据库服务器栈帧
绪论大家好,欢迎来到【程序员的自我修养】专栏。正如其专栏名,本专栏主要分享学习《程序员的自我修养——链接、装载与库》的知识点以及结合自己的工作经验以及思考。编译原理相关知识本身就比较有难度,我会尽自己最大的努力,争取深入浅出。若你希望与一群志同道合的朋友一起学习,也希望加入到我们的学习群中。文末有加入方式。介绍首先我们来看一张Linux进程中经典的内存布局图:分析:内核空间:是操作系统内核运行的区
- 可执行文件为什么又叫映像文件image?——程序员的自我修养——链接、装载与库》笔记
Tadecanlan
计算机体系知识c++c语言
“可执行文件在装载时实际上是被映射的虚拟空间”——《程序员的自我修养——链接、装载与库》“可执行文件”与“执行该可执行文件进程的虚拟空间”存在着一种映射关系,这种映射关系只是保存在OS内部的一个数据结构。举例子:身份证就是一种映射关系,我的身份证是“鹅城”给我发的,我并不需要真的在“鹅城”,但通过这个身份证的映射又真的能找到我。直到启动运行,可执行文件中的指令、数据都没有被装入内存中。OS仅通过可
- 程序员的自我修养-笔记
Tadecanlan
计算机体系知识c语言c++
一、2024-1-211、.bss在目标文件、可执行文件中并不占用空间,但在装载时占用地址空间。链接器将.bss合并时,也分配虚拟空间2、链接器为目标文件分配地址和空间,.test、.data在可执行文件及装载后的虚拟地址中均占空间;.bss仅在虚拟地址空间中。3、链接分两步:空间与地址分配:获取各个.o各个段的长度、属性、位置;收集各个.o中的符号定义、符号引用,统一放到全局符号表。计算合并后的
- 【程序员的自我修养—内存模型】
杨主任o_o
算法c++
程序的内存布局kernelspace内核空间:程序无法直接访问stack栈:1.用于维护函数调用的上下文;2.通常有几M的容量向下生长dynamiclibraries动态链接库映射区:用于映射装载的动态链接库向上生长heap堆:1.用来容纳应用程序动态分配的内存区域;2.使用malloc或者new分配内存;3.一般比栈大,几十到几百M的容量read/wirtessections(.data/.bs
- 【程序员的自我修养—系统调用与API】
杨主任o_o
c++
系统调用背景:为了避免有限的系统资源被多个不同的应用程序同时访问,需要加以保护,避免冲突;提供一套统一的接口,是应用程序能做一些由操作系统支持的行为;接口通过中断的方式实现,Linux使用0x80作为系统调用的入口,通用寄存器用于传递参数。弊端:使用不方便,程序员需要了解与操作系统的相关细节;操作系统之间的系统调用不兼容;通过增加抽象层(标准库)来解决该问题,如,C语言中被定义在/usr/incl
- 【程序员的自我修养10】动态库的兼容问题——GLIBC_2.34‘ not found
谢艺华
编译链接装载库java算法linux动态库兼容
绪论大家好,欢迎来到【程序员的自我修养】专栏。正如其专栏名,本专栏主要分享学习《程序员的自我修养——链接、装载与库》的知识点以及结合自己的工作经验以及思考。编译原理相关知识本身就比较有难度,我会尽自己最大的努力,争取深入浅出。若你希望与一群志同道合的朋友一起学习,也希望加入到我们的学习群中。文末有加入方式。介绍前几章,花了较大篇幅介绍了动态库链接过程原理,需要面对的场景以及解决思路,真真切切的了解
- 【程序员的自我修养09】动态链接过程的场景补充及其思考
谢艺华
编译链接装载库服务器运维全局符号冲入
绪论大家好,欢迎来到【程序员的自我修养】专栏。正如其专栏名,本专栏主要分享学习《程序员的自我修养——链接、装载与库》的知识点以及结合自己的工作经验以及思考。编译原理相关知识本身就比较有难度,我会尽自己最大的努力,争取深入浅出。若你希望与一群志同道合的朋友一起学习,也希望加入到我们的学习群中。文末有加入方式。介绍通过上一篇【程序员的自我修养08】精华!!!动态库的由来及其实现原理,大致介绍了动态链接
- 【程序员的自我修养08】精华!!!动态库的由来及其实现原理
谢艺华
编译链接装载库算法动态库
绪论大家好,欢迎来到【程序员的自我修养】专栏。正如其专栏名,本专栏主要分享学习《程序员的自我修养——链接、装载与库》的知识点以及结合自己的工作经验以及思考。编译原理相关知识本身就比较有难度,我会尽自己最大的努力,争取深入浅出。若你希望与一群志同道合的朋友一起学习,也希望加入到我们的学习群中。文末有加入方式。介绍通过前文的讲解,我们大致了解将程序加载到内存的过程。即创建两个映射表:程序与虚拟内存空间
- 【程序员的自我修养—进程虚拟地址空间】
杨主任o_o
linux运维服务器
虚拟地址空间每个进程拥有独立的虚拟地址空间,CPU的位数决定了最大理论上限;32位计算机的地址空间是0-2^32-1,即4GB;C语言中指针的大小通常和虚拟地址空间的位数相同,在32位平台的大小是4个字节。分配状态:操作系统使用;用户进程,包含了代码、数据以及通过malloc申请的空间等。问题:程序使用的空间能不能超过4GB?如果是指操作虚拟地址空间,是不能超过的如果是计算机内存空间,是可以操作的
- 【程序员的自我修养—目标文件中有什么】
杨主任o_o
c++
目标文件定义与分类目标文件:源代码编译后未经过链接的中间文件Linux:.o文件Windows:.obj文件可执行文件和目标文件在内容和结构上很相似,广义上可以看作一种类型的文件Linux:ELF文件(a.out)Windows:PE文件(Intel/Microsoft的OMF文件,MS-DOS的.COM文件)动态链接库和静态链接库也按照这种格式存储Linux:.so(动态链接库)、.a(静态链接
- 【程序员的自我修养—静态链接】
杨主任o_o
算法数据结构
静态链接例子//a.cexternintshared;intmain(){inta=100;swap(&a,&shared);}//b.cintshared=1;voidswap(int*a,int*b){*a^=*b^=*a^=*b;}$gcc-ca.cb.c-fno-stack-protectora.c:Infunction‘main’:a.c:4:5:warning:implicitdecl
- 【程序员的自我修养—编译和链接】
杨主任o_o
算法
IDE或者编译器的构建过程构建过程分为4个过程:预处理、编译、汇编、链接。通过gcc命令来进行编译,实际上是对预编译程序cc1、汇编器as、连接器ld的封装,可以直接使用这些命令来得到对应的文件。以"helloworld"程序为例子,整个过程可以用如下的图表示。#includeintmain(){printf("HelloWorld!\n");return0;}//编译执行的过程如下//gcche
- 程序员的自我修养
GJG
程序员的价值程序员的迷茫-找寻不到价值在浩大的软件世界里,作为一名普通程序员,显得十分渺小,甚至会感到迷茫。我们内心崇拜技术,却也对日新月异的技术抱有深深的恐惧。技术市场就像这喜怒不定的老天爷,今天下个大数据雨,明天刮个人工智能风,面对琳琅满目的技术浪潮的冲击,程序员难免深感无力,深怕错过了技术潮流从而失去了职场竞争力。有时候我会思考难道在技术领域内不断紧跟新潮,不断提升技能就是我的价值所在?那么
- 论程序员的自我修养
大师兄爱上芭蕉扇
图片发自App一、编程能力不用多说,作为Java程序员,精通Java基础是必须的。这种精通,不是说看了一本《24小时精通XXX》,抄了几个程序就能说精通的,要靠长时间的积累和浸淫。我曾经看多很多程序员写的代码,在同一个jsp或者java源文件里,出现了三种以上的对方法的命名方式,有下划线间隔的,有全大写的,有拼音首字母的。就像一个菜市场,杂乱无比,估计10天后,他自己都无法看的懂。遵守编码规范,是
- 《程序员的自我修养--链接,装载与库》
zaizai1007
书籍开发
第一章:温故而知新过度优化的问题:我们知道volatile关键字可以阻止过度优化,因为它可以完成两件事:阻止编译器为了提高速度将一个变量缓存到寄存器而不写回阻止编译器调整操作volatile变量的指令顺序然而,在优化这一块,不仅编译器会做优化,CPU也会做优化。volatile就管不着了CPU了。经典的例子当然是单例模式。单例模式有一种常规的解决方案是DCL,也就是双重检查锁,但是在C++中new
- 程序员的自我修养:链接、装载与库-3 目标文件里有什么
你回到了你的家
编译原理编译器
1目标文件的格式2目标文件是什么样的3挖掘SimpleSection.o3.1代码段3.2数据段和只读数据段3.3BSS段3.4其他段4ELF文件结构描述4.1文件头4.2段表4.3重定位表4.4字符串表5链接的接口-符号待补充107
- 程序员的自我修养(二)
LSteven
共享对象在编译时不能假设自己在进程虚拟地址空间中的位置,可执行文件可以确认。装载时重定位如果使用静态链接的重定位方法,即模块装载地址确认,对所有绝对地址引用重定位。但是指令部分是多个进程共享的,装载时重定位需要修改指令,所以指令部分不能这么做。而可修改数据部分对于不同进程有多个副本可以这么做。地址无关代码-fPIC只用装载时重定位无法做到指令部分在多个进程之间共享。引入地址无关代码,就是把代码中可
- 【程序员的自我修养01】编译流程概述
谢艺华
编译链接装载库linux编译原理
绪论大家好,欢迎来到【程序员的自我修养】专栏。正如其专栏名,本专栏主要分享学习《程序员的自我修养——链接、装载与库》的知识点以及结合自己的工作经验以及思考。编译原理相关知识本身就比较有难度,我会尽自己最大的努力,争取深入浅出。若你希望与一群志同道合的朋友一起学习,也希望加入到我们的学习群中。文末有加入方式。简介本文主要介绍我们熟悉的编译四大流程:预处理,编译,汇编,链接。因为是我们经常会讨论的话题
- 浅谈链接、装载与库
iline
本文迁移于个人博客http://www.chenonm.com最近阅读了《程序员的自我修养》这本书,自己得以更加深入地一窥系统软件的运行机制和原理,获益匪浅。步入正文前,我们先来看以下几个问题:1.C/C++程序代码如何被编译成目标文件2.程序在目标文件中如何存储3.目标文件如何静态链接成可执行程序4.栈与调用惯例是什么其实,上述问题现实中是较少被人关注的,对于平时的程序开发,我们很少需要关注编译
- 工程师&程序员的自我修养 Episode.6 深度学习实现人脸检测及人数统计项目
笙歌散尽
深度学习机器学习python人工智能计算机视觉
深度学习实现人脸检测及人数统计项目实现及代码示例手动@王婆,自取不谢【doge】。本项目利用Ultra-Light-Fast-Generic-Face-Detector-1MB模型完成人脸检测。该模型是针对边缘计算设备或低算力设备(如用ARM推理)设计的实时超轻量级通用人脸检测模型,可以在低算力设备中如用ARM进行实时的通用场景的人脸检测推理。此处感谢参考部分来自@wangwei8638大佬的程序
- 研读《程序员的自我修养—链接、装载与库》
辉辉岁月
前言仔细研读《程序员的自我修养—链接、装载与库》,对编译、链接、装载、静态库和动态库有连贯的认知。这种知识先在学校学习一遍,然后遗忘;工作用到,百思不得其解;然后再看书,才能深深记住和理解。正文机器指令最初的机器指令,是使用纸带来记录;当变更指令的时候,需要程序员重新计算每个子程序的跳转地址。这个操作就是重定位。但是,如果有多条纸带,跳转更为复杂。汇编语言为了解决上面复杂的机器指令跳转,先驱者发明
- 聊一聊程序员的自我修养
白日梦批发商
前端javascript开发语言
首先要谈的是,今天的话题所聊的程序员包含哪些人?在中国,写程序,不仅仅是一种兴趣,更多的时候,还是一种普通职业和谋生工具大公司有厉害的程序员,优秀的架构师,但大量的小公司也有很多普通的程序员。在我这些年的工作经历中,也越来越深刻的感受到普通程序员的影响和力量。对于高阶程序员,所谓八仙过海各有神通,各有各的成就,各有各的修养,但程序员在达成较高的水平之前,有一些“自我修养”,是最基础的,是普世的。所
- 从0到1 学习zookeeper
莱昂纳德小迷弟
zookeeperjavahadoopkafkarpc
学习背景,毕业一年的渣渣科班菜鸡,程序员的自我修养。主题概要zookeeper概要、背景及作用2.部署与常规配置3.节点类型一、zookeeper概要、背景及作用zookeeper产生背景:项目从单体到分布式转变之后,将会产生多个节点之间协同的问题。如:1.每天的定时任务由谁哪个节点来执行?2.RPC调用时的服务发现?3.如何保证并发请求的幂等4…这些问题可以统一归纳为多节点协调问题,如果靠节点自
- C++——基础
這~悸ベ雨落憂殇
C++c++开发语言c语言汇编
初学C++的时候,有没有想过,为什么C++支持重载,而C不支持重载呢??其实,一个程序运行起来都要经过四步骤预处理编译汇编链接预处理阶段会经过去注释,宏替换,头文件展开,条件编译...编译阶段会生成汇编代码,会经过语法分析,词法分析,语义分析,符号汇总...(像了解详细的可以去看看《程序员的自我修养》,在它的第二章会详细讲解)汇编阶段会将汇编生成二进制,然后在这一阶段生成符号表链接阶段会合并段表,
- 一个程序员的自我修养
donet_expert
大数据
目录第一章基础编码规范1.1命名规范1.2常量定义1.3代码格式1.4OOP规约1.5集合处理1.6并发处理1.7控制语句1.8注释规约1.9其它第二章异常与日志规范2.1异常处理2.2日志规约第三章数据库规范3.1建表规约3.2SQL语句3.3ORM映射3.4索引规范安全规约第一章基础编码规范1.1命名规范代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。tips:JDK动
- 程序员的自我修养——SQL语言及MySQL数据库
_遮云壑_
程序员的自我修养数据库mysqlsql
SQL简介SQL语言介绍SQL全称:StructuredQueryLanguage,是结构化查询语言,用于访问和处理数据库的标准的计算机语言。SQL的特点具有综合统一性,不同数据库的支持的SQL稍有不同。非过程化语言。语言简捷,用户容易接受。以一种语法结构提供两种使用方式。SQL语言的组成数据定义语言(DDL)数据操纵语言(DML)数据查询语言(DQL)数据控制语言(DCL)SQL语法特点SQL对
- C++11新特性
Answer-3
C++技术类
程序员的自我修养_Will.zhang关注多核计算&高性能计算目录视图摘要视图订阅深度学习代码专栏攒课--我的学习我做主【hot】直播技术精选C++112013-03-1110:1811849人阅读评论(0)收藏举报分类:C++/C(26)目录(?)[+]C++11,先前被称作C++0x,即ISO/IEC14882:2011,是目前的C++编程语言的正式标准。它取代第二版标准ISO/IEC1488
- 程序员的自我修养: 如何写出高质量的代码
chengbo_eva
方法论开发语言
目录我们为什么需要高质量的代码?知名程序员如何看待高质量的代码BjarneStroustrupGradyBoochWardCunningham代码质量指标可维护性可读性可扩展性与可复用性鲁棒性(健壮性)稳定性能可测试性与完整性测试金字塔与单元测试完整性设计原则SOLID单一职责原则开放-封闭原则里氏替换原则依赖倒置原则接口隔离原则KISS坏味道的代码编码神秘命名重复代码与数据泥团过长函数/参数列表
- PHP如何实现二维数组排序?
IT独行者
二维数组PHP排序
二维数组在PHP开发中经常遇到,但是他的排序就不如一维数组那样用内置函数来的方便了,(一维数组排序可以参考本站另一篇文章【PHP中数组排序函数详解汇总】)。二维数组的排序需要我们自己写函数处理了,这里UncleToo给大家分享一个PHP二维数组排序的函数:
代码:
functionarray_sort($arr,$keys,$type='asc'){
$keysvalue= $new_arr
- 【Hadoop十七】HDFS HA配置
bit1129
hadoop
基于Zookeeper的HDFS HA配置主要涉及两个文件,core-site和hdfs-site.xml。
测试环境有三台
hadoop.master
hadoop.slave1
hadoop.slave2
hadoop.master包含的组件NameNode, JournalNode, Zookeeper,DFSZKFailoverController
- 由wsdl生成的java vo类不适合做普通java vo
darrenzhu
VOwsdlwebservicerpc
开发java webservice项目时,如果我们通过SOAP协议来输入输出,我们会利用工具从wsdl文件生成webservice的client端类,但是这里面生成的java data model类却不适合做为项目中的普通java vo类来使用,当然有一中情况例外,如果这个自动生成的类里面的properties都是基本数据类型,就没问题,但是如果有集合类,就不行。原因如下:
1)使用了集合如Li
- JAVA海量数据处理之二(BitMap)
周凡杨
java算法bitmapbitset数据
路漫漫其修远兮,吾将上下而求索。想要更快,就要深入挖掘 JAVA 基础的数据结构,从来分析出所编写的 JAVA 代码为什么把内存耗尽,思考有什么办法可以节省内存呢? 啊哈!算法。这里采用了 BitMap 思想。
首先来看一个实验:
指定 VM 参数大小: -Xms256m -Xmx540m
- java类型与数据库类型
g21121
java
很多时候我们用hibernate的时候往往并不是十分关心数据库类型和java类型的对应关心,因为大多数hbm文件是自动生成的,但有些时候诸如:数据库设计、没有生成工具、使用原始JDBC、使用mybatis(ibatIS)等等情况,就会手动的去对应数据库与java的数据类型关心,当然比较简单的数据类型即使配置错了也会很快发现问题,但有些数据类型却并不是十分常见,这就给程序员带来了很多麻烦。
&nb
- Linux命令
510888780
linux命令
系统信息
arch 显示机器的处理器架构(1)
uname -m 显示机器的处理器架构(2)
uname -r 显示正在使用的内核版本
dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI)
hdparm -i /dev/hda 罗列一个磁盘的架构特性
hdparm -tT /dev/sda 在磁盘上执行测试性读取操作
cat /proc/cpuinfo 显示C
- java常用JVM参数
墙头上一根草
javajvm参数
-Xms:初始堆大小,默认为物理内存的1/64(<1GB);默认(MinHeapFreeRatio参数可以调整)空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制
-Xmx:最大堆大小,默认(MaxHeapFreeRatio参数可以调整)空余堆内存大于70%时,JVM会减少堆直到 -Xms的最小限制
-Xmn:新生代的内存空间大小,注意:此处的大小是(eden+ 2
- 我的spring学习笔记9-Spring使用工厂方法实例化Bean的注意点
aijuans
Spring 3
方法一:
<bean id="musicBox" class="onlyfun.caterpillar.factory.MusicBoxFactory"
factory-method="createMusicBoxStatic"></bean>
方法二:
- mysql查询性能优化之二
annan211
UNIONmysql查询优化索引优化
1 union的限制
有时mysql无法将限制条件从外层下推到内层,这使得原本能够限制部分返回结果的条件无法应用到内层
查询的优化上。
如果希望union的各个子句能够根据limit只取部分结果集,或者希望能够先排好序在
合并结果集的话,就需要在union的各个子句中分别使用这些子句。
例如 想将两个子查询结果联合起来,然后再取前20条记录,那么mys
- 数据的备份与恢复
百合不是茶
oraclesql数据恢复数据备份
数据的备份与恢复的方式有: 表,方案 ,数据库;
数据的备份:
导出到的常见命令;
参数 说明
USERID 确定执行导出实用程序的用户名和口令
BUFFER 确定导出数据时所使用的缓冲区大小,其大小用字节表示
FILE 指定导出的二进制文
- 线程组
bijian1013
java多线程threadjava多线程线程组
有些程序包含了相当数量的线程。这时,如果按照线程的功能将他们分成不同的类别将很有用。
线程组可以用来同时对一组线程进行操作。
创建线程组:ThreadGroup g = new ThreadGroup(groupName);
&nbs
- top命令找到占用CPU最高的java线程
bijian1013
javalinuxtop
上次分析系统中占用CPU高的问题,得到一些使用Java自身调试工具的经验,与大家分享。 (1)使用top命令找出占用cpu最高的JAVA进程PID:28174 (2)如下命令找出占用cpu最高的线程
top -Hp 28174 -d 1 -n 1
32694 root 20 0 3249m 2.0g 11m S 2 6.4 3:31.12 java
- 【持久化框架MyBatis3四】MyBatis3一对一关联查询
bit1129
Mybatis3
当两个实体具有1对1的对应关系时,可以使用One-To-One的进行映射关联查询
One-To-One示例数据
以学生表Student和地址信息表为例,每个学生都有都有1个唯一的地址(现实中,这种对应关系是不合适的,因为人和地址是多对一的关系),这里只是演示目的
学生表
CREATE TABLE STUDENTS
(
- C/C++图片或文件的读写
bitcarter
写图片
先看代码:
/*strTmpResult是文件或图片字符串
* filePath文件需要写入的地址或路径
*/
int writeFile(std::string &strTmpResult,std::string &filePath)
{
int i,len = strTmpResult.length();
unsigned cha
- nginx自定义指定加载配置
ronin47
进入 /usr/local/nginx/conf/include 目录,创建 nginx.node.conf 文件,在里面输入如下代码:
upstream nodejs {
server 127.0.0.1:3000;
#server 127.0.0.1:3001;
keepalive 64;
}
server {
liste
- java-71-数值的整数次方.实现函数double Power(double base, int exponent),求base的exponent次方
bylijinnan
double
public class Power {
/**
*Q71-数值的整数次方
*实现函数double Power(double base, int exponent),求base的exponent次方。不需要考虑溢出。
*/
private static boolean InvalidInput=false;
public static void main(
- Android四大组件的理解
Cb123456
android四大组件的理解
分享一下,今天在Android开发文档-开发者指南中看到的:
App components are the essential building blocks of an Android
- [宇宙与计算]涡旋场计算与拓扑分析
comsci
计算
怎么阐述我这个理论呢? 。。。。。。。。。
首先: 宇宙是一个非线性的拓扑结构与涡旋轨道时空的统一体。。。。
我们要在宇宙中寻找到一个适合人类居住的行星,时间非常重要,早一个刻度和晚一个刻度,这颗行星的
- 同一个Tomcat不同Web应用之间共享会话Session
cwqcwqmax9
session
实现两个WEB之间通过session 共享数据
查看tomcat 关于 HTTP Connector 中有个emptySessionPath 其解释如下:
If set to true, all paths for session cookies will be set to /. This can be useful for portlet specification impleme
- springmvc Spring3 MVC,ajax,乱码
dashuaifu
springjquerymvcAjax
springmvc Spring3 MVC @ResponseBody返回,jquery ajax调用中文乱码问题解决
Spring3.0 MVC @ResponseBody 的作用是把返回值直接写到HTTP response body里。具体实现AnnotationMethodHandlerAdapter类handleResponseBody方法,具体实
- 搭建WAMP环境
dcj3sjt126com
wamp
这里先解释一下WAMP是什么意思。W:windows,A:Apache,M:MYSQL,P:PHP。也就是说本文说明的是在windows系统下搭建以apache做服务器、MYSQL为数据库的PHP开发环境。
工欲善其事,必须先利其器。因为笔者的系统是WinXP,所以下文指的系统均为此系统。笔者所使用的Apache版本为apache_2.2.11-
- yii2 使用raw http request
dcj3sjt126com
http
Parses a raw HTTP request using yii\helpers\Json::decode()
To enable parsing for JSON requests you can configure yii\web\Request::$parsers using this class:
'request' =&g
- Quartz-1.8.6 理论部分
eksliang
quartz
转载请出自出处:http://eksliang.iteye.com/blog/2207691 一.概述
基于Quartz-1.8.6进行学习,因为Quartz2.0以后的API发生的非常大的变化,统一采用了build模式进行构建;
什么是quartz?
答:简单的说他是一个开源的java作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制。并且还能和Sp
- 什么是POJO?
gupeng_ie
javaPOJO框架Hibernate
POJO--Plain Old Java Objects(简单的java对象)
POJO是一个简单的、正规Java对象,它不包含业务逻辑处理或持久化逻辑等,也不是JavaBean、EntityBean等,不具有任何特殊角色和不继承或不实现任何其它Java框架的类或接口。
POJO对象有时也被称为Data对象,大量应用于表现现实中的对象。如果项目中使用了Hiber
- jQuery网站顶部定时折叠广告
ini
JavaScripthtmljqueryWebcss
效果体验:http://hovertree.com/texiao/jquery/4.htmHTML文件代码:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>网页顶部定时收起广告jQuery特效 - HoverTree<
- Spring boot内嵌的tomcat启动失败
kane_xie
spring boot
根据这篇guide创建了一个简单的spring boot应用,能运行且成功的访问。但移植到现有项目(基于hbase)中的时候,却报出以下错误:
SEVERE: A child container failed during start
java.util.concurrent.ExecutionException: org.apache.catalina.Lif
- leetcode: sort list
michelle_0916
Algorithmlinked listsort
Sort a linked list in O(n log n) time using constant space complexity.
====analysis=======
mergeSort for singly-linked list
====code======= /**
* Definition for sin
- nginx的安装与配置,中途遇到问题的解决
qifeifei
nginx
我使用的是ubuntu13.04系统,在安装nginx的时候遇到如下几个问题,然后找思路解决的,nginx 的下载与安装
wget http://nginx.org/download/nginx-1.0.11.tar.gz
tar zxvf nginx-1.0.11.tar.gz
./configure
make
make install
安装的时候出现
- 用枚举来处理java自定义异常
tcrct
javaenumexception
在系统开发过程中,总少不免要自己处理一些异常信息,然后将异常信息变成友好的提示返回到客户端的这样一个过程,之前都是new一个自定义的异常,当然这个所谓的自定义异常也是继承RuntimeException的,但这样往往会造成异常信息说明不一致的情况,所以就想到了用枚举来解决的办法。
1,先创建一个接口,里面有两个方法,一个是getCode, 一个是getMessage
public
- erlang supervisor分析
wudixiaotie
erlang
当我们给supervisor指定需要创建的子进程的时候,会指定M,F,A,如果是simple_one_for_one的策略的话,启动子进程的方式是supervisor:start_child(SupName, OtherArgs),这种方式可以根据调用者的需求传不同的参数给需要启动的子进程的方法。和最初的参数合并成一个数组,A ++ OtherArgs。那么这个时候就有个问题了,既然参数不一致,那