-
OpenGL达成立体显示
所属栏目:[教程] 日期:2021-11-20 热度:144
立体显示原理:设没有立体显示的模型视图矩阵ModelView为Mv,投影矩阵为Mp,则、物体空间的任何一点为P,则变换到屏幕坐标P*=MpMvP;注意前面已经说过opengl里面坐标列优先,所以矩阵都是右乘。 左眼和右眼的变换都是由中间的变换矩阵变换而来,则立体显示中[详细]
-
Java自定义类开达成四舍五入
所属栏目:[教程] 日期:2021-11-20 热度:67
工作中经常用到浮点数的四舍五入,但Java类库中的Math类的rint()和round()两个方法并不能满足我们的所有需要,下面我们就自定义四舍五入类来满足实际工作中的需要。 public class RoundTool { /** * 浮点数的四舍五入 * @param value * @param dotNum * @ret[详细]
-
关于存储过程和函数异常出现和Java捕获简单处理措施
所属栏目:[教程] 日期:2021-11-20 热度:56
1.想法 在调用存储过程时候,如果出现出错,应该在页面弹出异常提示信息,快速定位错误原因,也应该在存储过程和函数过程中尽可能的捕获概率发生较大的异常情况,并且在客户端页面通知(如果发生的话) 首先百度了,借鉴了下面这种方案 自定义Oracle抛出异常[详细]
-
Java异常与事物回滚分析
所属栏目:[教程] 日期:2021-11-20 热度:52
spring 事务注解 默认遇到throw new RuntimeException(...);会回滚 需要捕获的throw new Exception(...);不会回滚 // 指定回滚 @Transactional(rollbackFor=Exception.class) public void methodName() { // 不会回滚 throw new Exception(...); } //指定不[详细]
-
Java 8 彻底革新数据库访问
所属栏目:[教程] 日期:2021-11-20 热度:113
Java 8终于到来了! 经过几年的等待, java程序员终于能在java中得到函数式编程的支持了. 函数式编程的支持能流程化现有的代码并且为java提供强大的能力.在这些新特性中最瞩目的是java程序员对数据库的操作方式.函数式编程带来了令人激动的简便高效的数据库API[详细]
-
C++计时的几种措施说明及例程
所属栏目:[教程] 日期:2021-11-20 热度:147
1. 使用clock() 函数 头文件:time.h clock()函数,返回自程序启动到调用该函数,CPU时钟的计时单元数(clock tick) 每过1ms,计数值+1 精度:1毫秒 #include stdio.h #include time.h int main() { clock_t start,end; // typedef long clock_t start = cl[详细]
-
Linux正则表达式特性及BRE与ERE的差异
所属栏目:[教程] 日期:2021-11-20 热度:197
Linux正则表达式(Regular Expression)主要遵从POSIX BRE或者POSIX ERE标准。什么是POSIX呢,POSIX Portable Operating System Interface 可移植操作系统接口ERE是BRE的扩展版本,具体更强的处理能力,并增加了一些元字符(metacharactor)。 BRE主要的能力[详细]
-
C语言中应该防止构造复杂的前缀后缀表达式
所属栏目:[教程] 日期:2021-11-20 热度:129
一个例子: #include stdio.h int main(){ int i = 0; int a[] = {10,20,30}; int r = 1 * a[i++] + 2 * a[i++] + 3 * a[i++]; printf(%dn, r); return 0; } 结果是什么呢? 初学者半天想不明白; 半桶水的立刻答道:哇,简单,1*10+2*20+3*30=140 高手就考[详细]
-
C++中有哪些类型转换措施
所属栏目:[教程] 日期:2021-11-20 热度:144
C++中四种类型转换运算符的使用方法 reinterpret_cast 该函数将一个类型的指针转换为另一个类型的指针. 这种转换不用修改指针变量值存放格式(不改变指针变量值),只需在编译时重新解释指针的类型就可做到. reinterpret_cast 可以将指针值转换为一个整型数,但[详细]
-
进程线程的的作用和差异
所属栏目:[教程] 日期:2021-11-20 热度:63
首先来回顾一下进程和线程的概念吧。 进程(Process)是计算机中已运行程序的实体。进程为曾经是分时系统的基本运作单位。 线程(thread)是操作系统能够进行运算调度的最小单位,也是进程内的一个执行单元,程内的可调度实体。 线程的状态: 1)产生(spawn)[详细]
-
Handler概括
所属栏目:[教程] 日期:2021-11-20 热度:177
一、Handler的定义: 主要接受子线程发送的数据, 并用此数据配合主线程更新UI. 解释: 当应用程序启动时,Android首先会开启一个主线程 (也就是UI线程) , 主线程为管理界面中的UI控件,进行事件分发, 比如说, 你要是点击一个 Button, Android会分发事件到Butto[详细]
-
Linux下的进程介绍
所属栏目:[教程] 日期:2021-11-20 热度:134
进程 进程是正在执行的程序实例。执行程序时,内核会将程序代码载入虚拟内存,为程序变量分配空间,在内核中建立相应的数据结构,以记录与进程有关的各种信息(比如,进程ID、用户ID、组ID以及终止状态等) 在内核看来,进程是一个个实体,内核必须在它们之[详细]
-
C++ string类的隐式共享写时拷贝的实现及设计关键
所属栏目:[教程] 日期:2021-11-20 热度:91
字符串一种在程序中经常要使用到的数据结构,然而在C中却没有字符串这种类型。在C++中,为了方便字符串的使用,在STL中提供了一个string类。该类维护一个char指针,并封装和提供各种的字符串操作。 一、为什么要实现隐式公享写时拷贝 试想一下,如果我们要自[详细]
-
Android中JNI的调用生成头文件流程
所属栏目:[教程] 日期:2021-11-20 热度:146
Android 中通过JNI调用本地方法步骤介绍:首先是在eclipse中生成类文件 package Pag; public class JNI { static{ System.loadLibrary(hello); } public native void printHello(); public static void main(String[] args) { new JNI().printHello(); } } 上[详细]
-
Android众多的布局属性介绍
所属栏目:[教程] 日期:2021-11-20 热度:52
Android众多的布局属性详解 span style=font-size: 14px;第一类:属性值为true或false android:layout_centerHrizontal 水平居中 android:layout_centerVertical 垂直居中 android:layout_centerInparent 相对于父元素完全居中 android:layout_alignParentBot[详细]
-
Android 结束通话--达成黑名单拦截
所属栏目:[教程] 日期:2021-11-20 热度:106
知识点讲解: Android没有对外公开结束通话的API,如果需要结束通话,必须使用AIDL与电话管理服务进行通信,并调用服务中的API实现结束通话,方法如下: 1 从Android的源代码中拷贝以下文件到项目中: com.android.internal.telephony包下的ITelephony.aidl[详细]
-
冒泡、插入、归并、堆排序、快速排序的Java达成代码
所属栏目:[教程] 日期:2021-11-19 热度:127
冒泡、插入、归并、堆排序、快速排序的Java实现代码,详细过程就不表了,看代码吧 import java.util.Arrays; public class Sort { static int swapTimes=0; public static void main(String[] args) { int[] numbers = { 7, 6, 5, 3, 1, 8, 9, 7, 1, 2 ,5};[详细]
-
Golang 1.4 net/rpc client源码介绍
所属栏目:[教程] 日期:2021-11-19 热度:80
net/rpc是golang标准库提供的rpc框架,下面我们重点看下net/rpc是如何实现的。 我本机源码安装路径在/usr/local/go,这net/rpc(golang 1.4版本)涉及到的相关代码主要有: client.go server.go 首先我们先从client.go,客户端入手看: type ClientCodecinte[详细]
-
Golang 1.4 net/rpc server源码介绍
所属栏目:[教程] 日期:2021-11-19 热度:172
方法注册: 因为从client我们知道是复用的socket来实现并发调用rpc方法,我们先从方法注册来看源码部分: // Server对象大都是保存方法存根,保证对象互斥的 type Serverstruct{ mu sync.RWMutex// protects the serviceMap serviceMap map[string]*service[详细]
-
C++基本数据类型介绍
所属栏目:[教程] 日期:2021-11-19 热度:154
高度概括,C++数据类型只有两种,整型与浮点型. 一,整数: 就是没有小数部分的数字(除bool外按宽度递增排序).它包括: char short int long long long bool 其中除bool外每种类型都有符号版本与无符号版本.共11种. 两种较为特殊的情况 char最常用来处理字符,但由[详细]
-
struts2完全捕获404错误的技巧
所属栏目:[教程] 日期:2021-11-19 热度:169
目前在做一个网络应用程序,struts2 + spring + hibernate,服务器是tomcat。希望用户在IE地址栏乱敲的时候,所敲入的所有未定义的URL都能被程序捕捉到,然后转到一个自制的404错误处理页面。 首先查阅网上的资料,得知可以在web.xml中加入这么一段: error-[详细]
-
Struts2动态调用DMI及错误解决措施
所属栏目:[教程] 日期:2021-11-19 热度:67
在Strust2中action可以定义自己的方法,调用方法有两种方式,一种方式是struts.xml中指定method来表示需要用到的方法,但是这种方法缺点在于如果你的Action中有很多方法则要多次配置,这样很繁琐,另一种方法是使用动态方法调用DMI。 举一个简单的例子 比如Lo[详细]
-
C#的前景:追踪空引用
所属栏目:[教程] 日期:2021-11-19 热度:197
在 .NET 中最常见的错误类型大概要数空引用异常了。这个错误的根源在于 C# 无法表达出非空引用的概念,这也导致让编译器强制进行空检查变成一种过于繁重的任务。 为了应对这个问题,某条提议建议使用一种强制引用,以及一种明确的可空引用的定义。在提议中,[详细]
-
C++string中有关大小和容量的函数畅聊
所属栏目:[教程] 日期:2021-11-19 热度:131
1.length()与size() length是因为沿用C语言的习惯而保留下来的,string类最初只有length,引入STL之后,为了兼容又加入了size,它是作为STL容器的属性存在的,便于符合STL的接口规则,以便用于STL的算法。 string类的size()/length()方法返回的是字节数,不[详细]
-
Lua解析脚本过程中的关键数据结构详解
所属栏目:[教程] 日期:2021-11-19 热度:57
在这一篇文章中我先来介绍一下lua解析一个脚本文件时要用到的一些关键的数据结构,为将来的一系列代码分析打下一个良好的基[详细]