Welcome 微信登录

首页 / 操作系统 / Linux

Java连接MySQL数据库并进行内容查询

Java连接MySQL数据库并进行内容查询

最近用框架做了几个项目,感觉当初底层的东西有点忘了,写一个JDBC的简单的连接代码来熟悉回顾一下,也希望对刚接触的新手能有所帮助。这也是我的第一篇随笔,废话不多说,直接上代码:public Connection getCon() {//数据库连接名称String username="root";//数据库连接密码String password="";String driver="com.mysql.jdbc.Driver";//其中test为数据库名称St...
创建线程的两种方式

创建线程的两种方式

首先我们需要知道什么是线程:是程序执行流的最小单元,包括就绪、阻塞和运行三种基本状态。举个简单的例子:我们把生活中的两件事吃饭和写作业当作是两个线程,当你正在写作业的时候,爸妈叫你吃饭,你就直接去了,等吃完饭回来后再接着写作业。这就是相当于两个线程其中一个从运行状态转入就绪状态,另一个线程从就绪状态转入运行状态。创建线程包括继承Thread类和实现Runnable接口两种方式(JDK5.0以后还包括了实现Callable等方式来实现线程,这里不做介绍,感兴...
Java序列化之Serializable

Java序列化之Serializable

Java的序列化流程如下:Java的反序列化流程如下:注意:并不是所有类都需要进行序列化,主要原因有两个1)安全问题。Java中有的类属于敏感类,此类的对象数据不便对外公开,而序列化的对象数据很容易进行破解,无法保证其数据的安全性,因此一般这种类型的对象不会进行序列化。2)资源问题。可以使用序列化字节流创建对象,而且这种创建时不受限制的,有时过多地创建对象会造成很大的资源问题,因此此类对象也不适宜进行序列化。SerializableSerializable...
Java 方法传参方式: 按值调用

Java 方法传参方式: 按值调用

程序设计语言中将参数传递给方法的几种方式:按名调用(call by name): Algol 语言采用此方式, 已成为历史;按值调用(call by value): 方法接收到的是调用者提供的 变量值;按引用调用(call by reference): 方法接受到的是调用者低筒的 变量地址;C++ 支持 按值调用 和 按引用调用:void func(int arg); // 按值调用;void func(int& arg); // 按引用调用;而 ...
Android 进程通信机制之 AIDL

Android 进程通信机制之 AIDL

什么是 AIDLAIDL 全称Android Interface Definition Language,即安卓接口描述语言。听起来很深奥,其实它的本质就是生成进程间通信接口的辅助工具。它的存在形式是一种.aidl文件,开发者需要做的就是在该文件中定义进程间通信的接口,编译的时候 IDE 就会根据我们的.aidl接口文件生成可供项目使用的.java文件,这和我们说的“语法糖”有些类似。AIDL 的语法就是 java 的语法,就是导包...
ROS多个master消息互通

ROS多个master消息互通

需求有时候我们需要有几个不同的master, 他们之间要交换topic的内容,这时候就不能使用ros自带的设置同一个master的方法.我们的处理方法是,构造一个client和一个server,他们运行在不同的master下面, client在master1下订阅topic1,然后通过tcp协议(自己定义一个消息协议格式)发到master2下面的server,进行消息解析,再发布出master2下面的topic1,这样我们不改变ros自带的topic框架,...
Java并发基础总结

Java并发基础总结

并发是一种能并行运行多个程序或并行运行一个程序中多个部分的能力。如果程序中一个耗时的任务能以异步或并行的方式运行,那么整个程序的吞吐量和可 交互性将大大改善。现代的PC都有多个CPU或一个CPU中有多个核,是否能合理运用多核的能力将成为一个大规模应用程序的关键。线程基本使用 编写线程运行时执行的代码有两种方式:一种是创建Thread子类的一个实例并重写run方法,第二种是创建类的时候实现Runnable接口。当然,实现 Callable也算是一种方式,C...
JavaScript中对象字面量的理解

JavaScript中对象字面量的理解

JavaScript中对象字面量的理解第一部分 我们知道JavaScript中的数据类型有基本数据类型和引用类型,其中Object类型就是非常常用的类型。那么如果创建一个Object类型的实例呢?下面我介绍两种方法: 第一:构造函数法。var person=new Object();person.name="zhuzhenwei";person.age=20; 这里Object()实际上是默认的构造函数,显然,为满足需要,我们可以通过后两条语句添...
深入理解JavaScript中执行环境(作用域)与作用域链

深入理解JavaScript中执行环境(作用域)与作用域链

相信很多初学者对与JavaScript中的执行环境与作用域链不能很好的理解,这里,我会按照自己的理解同大家一起分享。一般情况下,我们把执行环境分为全局执行环境和局部执行环境,其中局部执行环境我们又可以称之为函数执行环境。那么究竟什么使执行环境呢?通俗的说,执行环境即为代码执行时所处的环境。我们下来看一看如下代码,再进一步分析之。<script>var name="zhuzhenwei";function changeName(){ if (n...
浅析红黑树算法

浅析红黑树算法

红黑树简介 红黑树是一种自平衡二叉查找树,也有着二叉搜索树的特性,保持着右边始终大于左边结点key的特性。前面提到过的AVL树,也是二叉搜索树的一种变形,红黑树没有达到AVL树的高度平衡,换句话说,它的高度,并没有AVL树那么高的要求,但他的应用却更加的广泛,实践中是相当高效的,他可以在O(log n)的时间内做查找、插入、删除操作。在C++ STL中,set、multiset、map、multimap等都应用到的红黑树的变体。 红黑树在平衡二叉搜索树...
AVL树插入操作实现

AVL树插入操作实现

为了提高二插排序树的性能,规定树中的每个节点的左子树和右子树高度差的绝对值不能大于1。为了满足上面的要求需要在插入完成后对树进行调整。下面介绍各个调整方式。右单旋转如下图所示,节点A的平衡因子(左子树高度减右子树高度)为1。由于在节点A的左孩子B的左子树上插入了新节点,导致B的左子树高度增加1,从而导致A的平衡因子为2,这时为了保持平衡需要对树进行调整。旋转的方法就是将A的变为B的右子树,将B的右子树变为A的左子树。示例代码:private Node RR...
二叉排序树插入

二叉排序树插入

定义若左子树非空,则左子树上所有结点关键字值均小于根节点关键字值若右子树非空,则右子树上所有节点关键字值均大于根节点关键字值左,右子树分别是一颗二叉排序树二叉排序树插入二查排序树插入定义:若原二叉树为空,则直接插入节点。否则,若关键字K小于根节点关键字,则插入到左子树中。若关键字K大于根节点关键字,则插入到右子树当中。插入的时间复杂度是树高O(H)public void insert(Node p, int k) { if (p != null) { ...
JavaScript不用正则验证输入的字符串是否为空(包含空格)

JavaScript不用正则验证输入的字符串是否为空(包含空格)

在项目中需要验证输入的字符串是否为空,包括空格,不太喜欢使用正则,所以就想到了js的indexOf函数,indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置,如果要检索的字符串值没有出现,则该方法返回 -1。语法:stringObject.indexOf(searchvalue,fromindex),searchvalue必需,fromindex:可选参数,在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.le...
JavaScript作用域闭包简述

JavaScript作用域闭包简述

作用域 作用域就是变量起作用的范围。作用域包括全局作用域,函数作用域以块级作用域,ES6中的let和const可以形成块级作用域。 除了块级作用域,在函数外面声明的变量可以在任何一个地方被访问到,这些变量的作用域都是全局作用域,全局作用域中的变量可以再任何一个地方使用:var a = "zt";function fn1(){console.log(a);}function fn2(){console.log(a);}fn1();fn2(); 在函数里...
<< 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 >>