-
C与C++函数声明时的几个小的语法区别
所属栏目:[教程] 日期:2021-12-10 热度:146
C与C++函数声明时的几个小的语法差异 1 无参函数的声明 void f() { } int main(void) { f(10,hello); return 0; } 上述代码在C语言中是完全正确的。但是在C++中确是错误的。 void f() * 在C中表示函数f可以接受任何类型,任意数量的参数。(然而并没有提供[详细]
-
Android Otto框架畅聊
所属栏目:[教程] 日期:2021-12-10 热度:177
一、Android Studio中配置Otto (Eclipse中直接下载jar包导入) 跟之前介绍的其他的框架一样,它只需要简单地在build.gradle中配置下面一行红色字体即可 dependencies { compile fileTree(dir: libs, include: [*.jar]) compile com.android.support:appcompat-[详细]
-
Java使用代理访问网络的技巧
所属栏目:[教程] 日期:2021-12-10 热度:189
有些时候我们的网络不能直接连接到外网, 需要使用http或是https或是socket代理来连接到外网,这里是Java使用代理连接到外网的一些方法. 方法一: 使用系统属性来完成代理设置,这种方法比较简单, 但是不能对单独的连接来设置代理: Properties properties=System[详细]
-
白话经典算法系列之 归并排序的达成
所属栏目:[教程] 日期:2021-12-10 热度:67
归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。 首先考虑下如何将将二个有序数列合并。这个非常简单,只要从比较二个数列的第一个数,谁小就先取谁,取了后就在对应数列中删除这个数。然[详细]
-
Linux C动态内存泄漏追踪技巧
所属栏目:[教程] 日期:2021-12-10 热度:65
C里面没有垃圾回收机制,有时候你申请了动态内存却忘记释放,这就尴尬了(你的程序扮演了强盗角色,有借有还才是好孩子)。当你想找出内存泄露的地方时,有的投入海量的代码中,头痛不已。还好GNU C库提供了些简单的方法。 mtrace和muntrace两个函数可以帮助[详细]
-
Java序列化和持久化的差异与联系
所属栏目:[教程] 日期:2021-12-10 热度:143
持久化(Persistence) 即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化的主要应用是将内存中的对象存储在关系型的数据库中,当然也可以存储在磁盘文件中、XML数据文件中等等。 持久化是将程序数据在持久状态和瞬时状态间转换的[详细]
-
HttpSession与Hibernate中Session的差异
所属栏目:[教程] 日期:2021-12-10 热度:194
一、javax.servlet.http.HttpSession是一个抽象接口 它的产生:J2EE的Web程序在运行的时候,会给每一个新的访问者建立一个HttpSession,这个Session是用户身份的唯一表示。注意,是容器(Tomcat,Resin)自动创建的。 用途:存放这个用户的一些经常被用到的信息[详细]
-
Hibernate相关概念及序列化和持久化的差异
所属栏目:[教程] 日期:2021-12-10 热度:126
一. Hibernate 初识 hibernate是一种ORM(object relation mapping,对象关系映射)框架,所谓的对象关系映射,通俗的说,就是把JAVA对象保存到关系型数据库中。 hibernate要做的事,就是让对象投影到关系数据库中,然后实施持久化。其具体实现:建立对象到关[详细]
-
GDB调试命令概括
所属栏目:[教程] 日期:2021-12-10 热度:86
1.启动调试 前置条件:编译生成执行码时带上 -g,如果使用Makefile,通过给CFLAGS指定-g选项,否则调试时没有符号信息。 gdb program //最常用的用gdb启动程序,开始调试的方式 gdb program core //用gdb查看core dump文件,跟踪程序core的原因 gdb program[详细]
-
Spring中的IOC和AOP概念畅聊
所属栏目:[教程] 日期:2021-12-10 热度:170
IOC和AOP是Spring中的两个核心的概念,下面谈谈对这两个概念的理解。 1. IOC(Inverse of Control):控制反转,也可以称为依赖倒置。 所谓依赖,从程序的角度看,就是比如A要调用B的方法,那么A就依赖于B,反正A要用到B,则A依赖于B。所谓倒置,你必须理解如[详细]
-
Spring加载properties文件的两种办法
所属栏目:[教程] 日期:2021-12-10 热度:198
在项目中如果有些参数经常需要修改,或者后期可能需要修改,那我们最好把这些参数放到properties文件中,源代码中读取properties里面的配置,这样后期只需要改动properties文件即可,不需要修改源代码,这样更加方便。在Spring中也可以这么做,而且Spring有两[详细]
-
C++类中静态变量和静态方法使用详解
所属栏目:[教程] 日期:2021-12-10 热度:148
静态成员的提出是为了解决数据共享的问题。实现共享有许多方法,如:设置全局性的变量或对象是一种方法。但是,全局变量或对象是有局限性的。这一章里,我们主要讲述类的静态成员来实现数据的共享。 静态数据成员 在类中,静态成员可以实现多个对象之间的数[详细]
-
JavaScript正则表达式分析
所属栏目:[教程] 日期:2021-12-10 热度:57
在JavaScript中,正则表达式由RegExp对象表示。RegExp对象呢,又可以通过直接量和构造函数RegExp两种方式创建,分别如下: //直接量 var re = /pattern/[g | i | m]; //构造函数 var re = new RegExp([pattern, [g | i | m]]); 其中,末尾的可选字符(g、i和[详细]
-
UDT中epoll对CLOSE状态的解决
所属栏目:[教程] 日期:2021-12-10 热度:195
epoll_wait()返回可用uid时,对uid取状态,本该是BROKEN的,却取到CLOSED,然而,不能像处理BROKEN事件那样处理CLOSED事件,这样移除不了CLOSED事件,于是epoll_wait不断返回该uid,就造成了死循环。跟踪代码至底层,寻找原因。 int CUDTUnited::epoll_remov[详细]
-
处理UDT中内存下不去的问题
所属栏目:[教程] 日期:2021-12-10 热度:160
使用UDT库,编写简单的网络通信程序,发现了一个问题,关闭一部分连接后,程序占用内存并没有变化。 比如先连接500个,再连接另500个,先关掉后面500个,程序占用内存降一半,再关掉500个,程序占用内存降到0.1。然而,如果先关掉前面500个,程序占用内存不[详细]
-
Native atomics support not found问题解
所属栏目:[教程] 日期:2021-12-10 热度:50
Native atomics support not found问题解决 今天用arm-none-linux-gnueabi交叉编译libmysqclient.so,出现Native atomics support not found问题 进入mysql-connector-c-6.16-src的include/my_atomic.h,里面有 #if defined(_MSC_VER) # include atomic/gener[详细]
-
MyBatis动态SQL标签用法分析
所属栏目:[教程] 日期:2021-12-10 热度:198
动态 SQL MyBatis 的强大特性之一便是它的动态 SQL。如果你有使用 JDBC 或其他类似框架的经验,你就能体会到根据不同条件拼接 SQL 语句有多么痛苦。拼接的时候要确保不能忘了必要的空格,还要注意省掉列名列表最后的逗号。利用动态 SQL 这一特性可以彻底摆脱[详细]
-
UNIX/Linux 系统中的环境变量和库文件的使用技巧
所属栏目:[教程] 日期:2021-12-10 热度:187
1 环境变量的概念和使用 1.1 基本概念 环境变量一般是指在操作系统中用来指定操作系统运行环境./应用程序环境的一些变量 path 就是一个环境变量,一般来说应用程序的执行需要带上路径才可以运行,而定义在环境变量path 中的路径,系统会自动识别,因此对应的[详细]
-
指针基础和概括
所属栏目:[教程] 日期:2021-12-10 热度:146
1. 数组中的第一个存储区的地址加上下标可以得到下标对应的存储区的地址 2. 例如计算机处理数组的方式是 arr[4]- (*arr+4) 得到该存储区的内容 3. 数组和指针的区别 数组名称不可以赋值,代表的是存储区的首地址 不可以赋值。但是指针变量可以赋值。 对他们做[详细]
-
Hibernate 更新部分字段的达成
所属栏目:[教程] 日期:2021-12-10 热度:84
在Hibernate 中,有时我们只需要更新部分字段,此时如果使用update()方法,会将所有字段都更新,对于没有set的字段,就会设置成NULL,如果这些字段里面有非空的字段就会报错。 解决的方法可以直接写HQL语句,但是如果字段较多,并且更新的字段是不确定的时候[详细]
-
Java中字符串内存位置畅聊
所属栏目:[教程] 日期:2021-12-10 热度:143
前言 之前写过一篇关于JVM内存区域划分的文章,但是昨天接到蚂蚁金服的面试,问到JVM相关的内容,解释一下JVM的内存区域划分,这部分答得还不错,但是后来又问了Java里面String存放的位置,之前只记得String是一个不变的量,应该是要存放在常量池里面的,但是[详细]
-
JVM ClassLoader加载步骤
所属栏目:[教程] 日期:2021-12-10 热度:81
JVM ClassLoader加载过程 1)三个类加载器: bootstrap classloader - 引导(也称为原始)类加载器,它负责加载Java的核心类。 extension classloader - 扩展类加载器,它负责加载JRE的扩展目录中JAR的类包。 system classloader - 系统(也称为应用)类加[详细]
-
ArrayList和LinkedList差异
所属栏目:[教程] 日期:2021-12-10 热度:93
一般大家都知道ArrayList和LinkedList的大致区别: 1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。 2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。 3.对于新增和删除操作add和remove,Line[详细]
-
Lua-面向对象中函数使用时冒号(:)和点(.)的差异
所属栏目:[教程] 日期:2021-12-10 热度:64
Lua-面向对象中函数使用时冒号(:)和点(.)的区别,我们先来看一段简单的代码: local Animal = {} function Animal:Eat( food ) print(Animal:Eat, self, food) end function Animal.Sleep( time ) print(Animal.Sleep, self, time) end Animal:Eat(grass) Ani[详细]
-
Java中面向对象知识概括
所属栏目:[教程] 日期:2021-12-10 热度:118
Java中面向对象知识总结 一:基本概念 举例:写一个程序,实现如下功能: 一群宠物,宠物有各种类型,如猫、狗、企鹅等 让这群宠物,按照各自的能力不同,进行各种比赛(如爬树、游泳、跳水);扩展性需求: 游泳比赛游泳池的参数、飞盘的大小和重量等 1.首[详细]

浙公网安备 33038102330459号