-
Java文件获取路径办法
所属栏目:[教程] 日期:2021-11-19 热度:174
由于经常需要获取文件的路径,但是比较容易忘记,每次需要总需要查询,现在把这些方式写下来,方便自己的时候也方便大家了,如果大家在下面的方法遇到什么问题,可以留言。 Java文件获取路径方式: package first.second; import java.io.File; public class[详细]
-
Linux下动态链接达成原理
所属栏目:[教程] 日期:2021-11-19 热度:70
符号重定位 讲动态链接之前,得先说说符号重定位。 C/C++ 程序的编译是以文件为单位进行的,因此每个 c/cpp 文件也叫作一个编译单元(translation unit), 源文件先是被编译成一个个目标文件, 再由链接器把这些目标文件组合成一个可执行文件或库,链接的过程,[详细]
-
C++11 内存模型分析
所属栏目:[教程] 日期:2021-11-19 热度:144
关于乱序 首先需要明确一个普遍存在,但却未必人人都注意到的事实:程序并不总是按照源码中的顺序被执行的,此谓之乱序,乱序产生的原因可能有好几种: 编译器出于优化的目的,在编译阶段将源码的顺序进行交换。 程序执行期间,指令流水被 cpu 乱序执行。 ca[详细]
-
C++程序内存泄漏检测技巧
所属栏目:[教程] 日期:2021-11-19 热度:192
一、前言 在Linux平台上有valgrind可以非常方便的帮助我们定位内存泄漏,因为Linux在开发领域的使用场景大多是跑服务器,再加上它的开源属性,相对而言,处理问题容易形成统一的标准。而在Windows平台,服务器和客户端开发人员惯用的调试方法有很大不同。下[详细]
-
Matlab并行编程技巧
所属栏目:[教程] 日期:2021-11-18 热度:83
本文讲一下matlab中的并行方法与技巧,这里我们不涉及GPU加速,主要考虑for循环并行和数据并行。分为以下几个板块: 1. 怎么并行? 2. parfor vs. SPMD 3. 注意事项及经验总结 ----------------------------------------------------------- 1. 如何并行? 1[详细]
-
Java中怎样创建线程安全的技巧
所属栏目:[教程] 日期:2021-11-18 热度:70
面试问题: 下面的方法是否线程安全?怎样让它成为线程安全的方法? class MyCounter { private static int counter = 0; public static int getCount() { return counter++; } } 本篇文章将解释一个常见的面试题,该问题被谷歌和很多其它公司问起过。它涉及[详细]
-
Java反射机制调用private类型的构造技巧
所属栏目:[教程] 日期:2021-11-18 热度:152
单例类: package singleton; public class SingletonTest { // 私有构造方法 private SingletonTest(){ System.out.println(无参数---构造----); } // 私有构造方法 private SingletonTest(String a){ System.out.println(有参数---构造----参数值: + a);[详细]
-
return和exit函数的达成
所属栏目:[教程] 日期:2021-11-18 热度:63
在上Linux课的时候,老师提到一句,调用vfork产生的子进程就是为了使用exec族函数来执行其他的代码逻辑。 在子进程退出的时候有两种方式,exit和exec族函数,不能使用return,为什么不能用return呢,为什么只有vfork会不让用return呢? 于是我就写了这样的代[详细]
-
Linux内核达成中断和中断处理
所属栏目:[教程] 日期:2021-11-18 热度:178
Linux实现中断处理 内核是怎么知道应用程序要调用系统调用的呢?或者说应用程序怎么通知系统内核自己需要执行一个系统调用,这是通过软中断实现的,通过引发一个异常来促使系统切换到内核态去执行异常处理程序 PS:什么时候会从用户态切换到内核态呢?1.中断[详细]
-
Python中在脚本中引用其他文件函数的技巧
所属栏目:[教程] 日期:2021-11-18 热度:91
在导入文件的时候,Python只搜索当前脚本所在的目录,加载(entry-point)入口脚本运行目录和sys.path中包含的路径例如包的安装地址。所以如果要在当前脚本引用其他文件,除了将文件放在和脚本同一目录下,还有以下几种方法, 1. 将文件所在位置添加到sys.pat[详细]
-
Commons CLI使用分析
所属栏目:[教程] 日期:2021-11-18 热度:87
Preface: Apache Commons CLI library为用户提供了一个解释命令行的API.它在解释命令行时主要有三个状态,即:定义、解释和询问交互。下面的部分中将会详细的讨论这三个部分的内容,以及怎么样利用CLI实现它们。 接下来的部分就是一些实例,通过实例演示了[详细]
-
Spring中property-placeholder的使用与介绍
所属栏目:[教程] 日期:2021-11-18 热度:112
我们在基于spring开发应用的时候,一般都会将数据库的配置放置在properties文件中. 代码分析的时候,涉及的知识点概要: NamespaceHandler 解析xml配置文件中的自定义命名空间 ContextNamespaceHandler 上下文相关的解析器,这边定义了具体如何解析property-plac[详细]
-
Java开发abstract 和 interface的差异
所属栏目:[教程] 日期:2021-11-18 热度:122
Java开发里面经常会用到虚函数和接口,这两者的区别是什么呢? abstract: 子类里面只能继承一个父类 interface: 子类可以实现多个接口 那什么时候用abstract,什么时候用interface呢? 当某个子类和父类是 is a关系时,比如一个亚洲人是一个人,那么一个亚[详细]
-
设计模式——抽象工厂模式及Java达成
所属栏目:[教程] 日期:2021-11-18 热度:90
设计模式在大型软件工程中很重要,软件工程中采用了优秀的设计模式有利于代码维护,方便日后更改和添加功能。 设计模式有很多,而且也随着时间在不断增多,其中最著名的是四人组写的23种设计模式,并分为三大类:创建型模式,结构型模式,行为型模式。 抽象工[详细]
-
OpenCV直线检测在C#、Android和iOS下的实现技巧
所属栏目:[教程] 日期:2021-11-18 热度:158
c#实现方法 LineSegment2D[][] lines = rgbRect.HoughLines(10, 150, 10, (Math.PI), 10, 0, 50); for (int i = 0; i lines[0].Length; i++) { rgbImage.Draw(line[0][i], new Rgb(System.Drawing.Color.Red), 1); } c#下的实现方法很简单,opencv的很多方法[详细]
-
Linux动态库文件 soname realname linkname 分析
所属栏目:[教程] 日期:2021-11-18 热度:154
先明白动态库文件的3个名字 soname :通过gcc/g++ -soname,libtest2.so.1 设置他是程序中连接文件的时候找的文件,本身为一个连接,他包含大版本,如果任何小版本的变化,直接替换到 realname,然后ln -s 建立同样的soname 到新的realname文件即可,不需要重[详细]
-
C/C++ 静态变量介绍
所属栏目:[教程] 日期:2021-11-18 热度:106
静态变量:这种变量的内存将保存到整个程序的结束,他的内存是独立存放到一个叫做静态内存区的。 所有的静态的变量如果不赋值,会默认赋值为0,不管是结构体还是其他类型的变量, 当然静态变量的初始化也分为静态初始化和动态初始化,如果有一些不可确定的因[详细]
-
Angular.js 简单达成数字变汉字
所属栏目:[教程] 日期:2021-11-18 热度:186
// 1、实现输入数字输出对应汉字,要求使用angularjs,不准使用$watch函数,for循环;提示:ng-change指令 div ng-app=myApp ng-controller=changeCtrl // 定义一个app指令 定义一个controller 指令用于为你的应用添加控制器。在控制器中,你可以编写代码,制[详细]
-
Java DNS查询内部达成
所属栏目:[教程] 日期:2021-11-18 热度:117
源码分析 在Java中,DNS相关的操作都是通过通过InetAddress提供的API实现的。比如查询域名对应的IP地址: String dottedQuadIpAddress = InetAddress.getByName( blog.arganzheng.me ).getHostAddress(); 或者反过来IP对应域名: InetAddress[] addresses =[详细]
-
Linux下GLIBCXX和GLIBC版本低造成的编译错误的解决措施
所属栏目:[教程] 日期:2021-11-18 热度:96
最近在给编译环境CentOS 6.5安装新版clang (clang 3.4/3.5)的时候,虽然已经装了gcc 4.9.1, 但编译的时候(参考clang官方主页http://clang.llvm.org/get_started.html的步骤,在独立build目录下运行clang自带的configure脚本),仍然出了c compiler cannot[详细]
-
JVM 内存畅聊 及 GC个人学习总结
所属栏目:[教程] 日期:2021-11-18 热度:150
从诞生至今,20多年过去,Java至今仍是使用最为广泛的语言。这仰赖于Java提供的各种技术和特性,让开发人员能优雅的编写高效的程序。今天我们就来说说Java的一项基本但非常重要的技术内存管理 了解C语言的同学都知道,在C语言中内存的开辟和释放都是由我们自[详细]
-
深入认识Java多态原理
所属栏目:[教程] 日期:2021-11-18 热度:88
之前一直知道多态是什么东西,平时敲代码也经常用到多态,但一直没有真正了解多态底层的运行机制到底是怎么样的,这两天才研究明白点,特地写下来,跟各位同学一起进步,同时也希望各位大神指导和指正。 多态的概念:同一操作作用于不同对象,可以有不同的解[详细]
-
Spring MVC 自动扫描注解失效理由
所属栏目:[教程] 日期:2021-11-18 热度:152
关于spring自动扫描,在控制层,采用注解配置@Controller,项目能够成功启动,且无任何报错。但是 在进行页面跳转时,并未进行相应的拦截,整个界面只能在默认界面 ,跳转报404,由于楼主初次尝试,在绕了一个大圈后,初步确认是在扫描时mvc控制器,并未成功[详细]
-
AVL树 算法思想与代码达成
所属栏目:[教程] 日期:2021-11-18 热度:68
AVL树是高度平衡的二叉搜索树,按照二叉搜索树(Binary Search Tree)的性质,AVL首先要满足: 若它的左子树不为空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不为空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别[详细]
-
Java static 使用概括
所属栏目:[教程] 日期:2021-11-18 热度:130
这篇文章是关于Java static关键字的使用,主要会介绍以下的内容: static 的概念 static的各种应用 总结 static 是什么 static 顾名思义是静态的意思。与this相对,static表示所修饰的部分是属于类本身所有的,不依赖与某个具体的实例。 而this上个博客已经[详细]