在一个二叉查找树中插入一个节点 题目:给定一棵二叉查找树和一个新的树节点,将节点插入到树中。 你需要保证该树仍然是一棵二叉查找树。给出如下一棵二叉查找树,在插入节点6之后这棵二叉查找树可以是这样的: 2 2 / \ / \1 4 --> 1 4 / / \ 3 3 6需要搞...
Object类中有哪些方法 1 package java.lang; 2 3 public class Object { 4 5 private static native void registerNatives(); 6 static { 7 registerNatives(); 8 } 9 10 public final native Class&...
mybatis缓存机制详解 mybatis提供了缓存机制减轻数据库压力,提高数据库性能mybatis的缓存分为两级:一级缓存、二级缓存一级缓存是SqlSession级别的缓存,缓存的数据只在SqlSession内有效二级缓存是mapper级别的缓存,同一个namespace公用这一个缓存,所以对SqlSession是共享的一级缓存:mybatis的一级缓存是SqlSession级别的缓存,在操作数据库的时候需要先创...
mysql数据库的锁有多少种,mysql中怎么加锁 一、概述数据库锁定机制简单来说,就是数据库为了保证数据的一致性,而使各种共享资源在被并发访问变得有序所设计的一种规则。对于任何一种数据库来说都需要有相应的锁定机制,所以MySQL自然也不能例外。MySQL数据库由于其自身架构的特点,存在多种数据存储引擎,每种存储引擎所针对的应用场景特点都不太一样,为了满足各自特定应用场景的需求,每种存储引擎的锁定机制都是为各自所面对的特定场景而优化设计,所以各存...
高并发常见的面试题 1. 什么是进程进程是指运行中的应用程序,每个进程都有自己独立的地址空间(内存空间)。比如用户点击桌面的IE浏览器,就启动了一个进程,操作系统就会为该进程分配独立的地址空间。当用户再次点击左边的IE浏览器,又启动了一个进程,操作系统将为新的进程分配新的独立的地址空间。目前操作系统都支持多进程。2. 什么是线程进程是表示自愿分配的基本单位。而线程则是进程中执行运算的最小单位,即执行处理机调度...
spring boot web开发 上篇文章介绍了Spring boot初级教程:spring boot(一):入门篇,方便大家快速入门、了解实践Spring boot特性;本篇文章接着上篇内容继续为大家介绍spring boot的其它特性(有些未必是spring boot体系桟的功能,但是是spring特别推荐的一些开源技术本文也会介绍),对了这里只是一个大概的介绍,特别详细的使用我们会在其它的文章中来展开说明。web开发sp...
springboot(一):入门篇 什么是spring bootSpring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。用我的话来理解,就是spring boot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架使...
springMVC中的注解@RequestParam与@PathVariable的区别 @PathVariable①、@PathVariable绑定URI模板变量值②、@PathVariable是用来获得请求url中的动态参数的③、@PathVariable用于将请求URL中的模板变量映射到功能处理方法的参数上。//配置url和方法的一个关系@RequestMapping(“item/{itemId}”)/* @RequestMapping 来映射请求,也就是通过它来指定控制...
在同一直线上的最大点个数 在一个给定的n个点的平面,找到最多有多少个点在同一直线上。思路:首先计算出重合的点个数val1在计算出垂直的点个数val2再利用map 集合存储斜率与个数。最后比较求出最大值。import java.util.*;public class Solution { public int maxPoints(Point[] points) { int len=poin...
逆波兰表示法 评估算术表达式在逆波兰表示法中的价值。有效运算符是+,-,*,/。每个操作数可以是整数或另一个表达式。一些例子:["2", "1", "+", "3", "*"] -> ((2 + 1) * 3) -> 9["4", "13", "5", "/", "+"] ->
二叉树根结点到叶节点的最短距离 给定一棵二叉树,找出它的最小深度。最小深度是沿着从根节点到最近叶节点的最短路径的节点数目。思路一:递归。当节点左右子树都为null时,返回0当左子树为null,返回右子树递归+1;当右字数为null,返回左子树递归+1;当左右子树都不为空,返回左右子树递归最小值。public class Solution { public int run(TreeNode root) {...
高并发的解决方案 1.应用和静态资源分离刚开始的时候应用和静态资源是保存在一起的,当并发量达到一定程度的时候就需要将静态资源保存到专门的服务器中,静态资源主要包括图片、视频、js、css和一些资源文件等,这些文件因为没有状态所以分离比较简单,直接存放到响应的服务器就可以了,一般会使用专门的域名去访问。2.页面缓存页面缓存是将应用生成的页面缓存起来,这样就不需要每次都生成页面了,从而可以节省大量的CPU资源,如...
sql优化的几种方法 在sql查询中为了提高查询效率,我们常常会采取一些措施对查询语句进行sql优化,下面总结的一些方法,有需要的可以参考参考。1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where...
Java并发——线程池Executor框架 什么是线程池?线程池的概念大家应该都很清楚,帮我们重复管理线程,避免创建大量的线程增加开销。若采用"为每个任务分配一个线程"的方式会存在一些缺陷,尤其是当需要创建大量线程时:①、线程生命周期的开销非常高②、资源消耗③、稳定性引入线程池任务是一组逻辑工作单元,线程则是使任务异步执行的机制。当存在大量并发任务时,创建、销毁线程需要很大的开销,运用线程池可以大大减小开销。Executor...
Java中通过ThreadLocal实现线程绑定来传递参数 ThreadLocal的基本理解Threadlocal很多地方都叫线程本地变量,也有很多地方叫线程本地存储,个人理解在业务上方法调用方法时都是在单线程中进行操作,在进行访问数据库时牵扯到事务操作时,因为要求要做到事务的start transaction()和commit()操作都需要同一个connection来执行,而恰巧我们的connection是从线程池中调用的。因此,我们不能保证我们进行事...
Objects的hash()和hashCode()比较 Objects类是Java jdk 1.7开始引入的This class consists of static utility methods for operating on objects. These utilities includenull-safe or null-tolerant methods for computing the hash code of an object, ...
Set 对存储对象集合去重,需要重写equals和hashcode 昨天遇到对象去重问题,想当然用Set存储对象,debug的时候发现个数还是没变,所有的都存进来了,百度了一会发现Set是需要重写equals和hashcode的。@Override public boolean equals(Object obj) { if(this==obj){ return true; } if...
如何控制线程执行的顺序? 如何控制线程执行的顺序?先来一段多线程执行的代码。public class Test { public static void main(String[] args) { Thread t1 = new Thread(new MyThread1()); Thread t2 = new Thread(new MyThread2()); Th...
Synchronized与ReentrantLock的区别 java在编写多线程程序时,为了保证线程安全,需要对数据同步,经常用到两种同步方式就是Synchronized和重入锁ReentrantLock。相似点:这两种同步方式有很多相似之处,它们都是加锁方式同步,而且都是阻塞式的同步,也就是说当如果一个线程获得了对象锁,进入了同步块,其他访问该同步块的线程都必须阻塞在同步块外面等待,而进行线程阻塞和唤醒的代价是比较高的(操作系统需要在用户态与内核态之...
链表环与入口问题 给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。假设x为环前面的路程(黑色路程),a为环入口到相遇点的路程(蓝色路程,假设顺时针走), c为环的长度(蓝色+橙色路程)当快慢指针相遇的时候:此时慢指针走的路程为Sslow = x + m * c + a快指针走的路程为Sfast = x + n * c + a2 Sslow = Sfast2 * ( x + m...
redis持久化的几种方式 Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。有字符串,链表,集 合和有序集合。支持在服务器端计算集合的并,交和补集(difference)等,还支持多种排序功能。所以Redis也可以被看成是一个数据结构服务器。Redis的所有数据都是保存在内存中,然后不定期的通过异步方式保存到磁盘上(这称为“半持久化模式”);也可以把每...
Redis为什么使用单进程单线程方式也这么快 Redis采用的是基于内存的采用的是单进程单线程模型的KV数据库,由C语言编写。官方提供的数据是可以达到100000+的qps。这个数据不比采用单进程多线程的同样基于内存的KV数据库Memcached差。Redis快的主要原因是:1、完全基于内存2、数据结构简单,对数据操作也简单3、使用多路 I/O 复用模型第一、二点不细讲,主要围绕第三点采用多路 I/O 复用技术来展开。多路 I/O...
Eclipse中查看及调整JVM堆内存大小 一、查看堆内存设置路径:Windows > Pregerences > General 勾选右侧窗口的show heap status一项 点击 ok,即可在eclipse右下方看到实时的heap情况二、调整堆内存进入eclipse程序文件夹,打开名称为eclipse.ini的配置文件进行编辑,按需添加或修改如下两项设置:#当堆内存的余量小于40%时,JVM会将内存扩大到...
HashMap桶中链表转红黑树为什么选择数字8? 在JDK8及以后的版本中,HashMap引入了红黑树结构,其底层的数据结构变成了数组+链表或数组+红黑树。添加元素时,若桶中链表个数超过8,链表会转换成红黑树。 翻了一下HashMap的源码,发现其源码中有这样一段注释:Because TreeNodes are about twice the size of regular nodes, we use them only when bins c...
创建对像实例的5种方式 1、使用new关键字Dog jack = new Dog();2、使用Class类的newInstance方法Class dogClass = Dog.class; //拿到class Dog的 Class实例对象Dog rose = (Dog) dogClass.newInstance(); //调用Class的实例方法 newInstance()创建Dog的实例对象3、使用Con...
JDBC数据库连接池的必要性 1.JDBC数据库连接池的必要性在使用开发基于数据库的web程序时,传统的模式基本是按以下步骤: 在主程序(如servlet、beans)中建立数据库连接、进行sql操作、断开数据库连接。这种模式开发,存在的问题:(1)普通的JDBC数据库连接使用 DriverManager 来获取,每次向数据库建立连接的时候都要将 Connection 加载到内存中,再验证用户名和密码(得花费0.05...
同步和异步,区别 同步:同步的思想是:所有的操作都做完,才返回给用户。这样用户在线等待的时间太长,给用户一种卡死了的感觉(就是系统迁移中,点击了迁移,界面就不动了,但是程序还在执行,卡死了的感觉)。这种情况下,用户不能关闭界面,如果关闭了,即迁移程序就中断了。异步:将用户请求放入消息队列,并反馈给用户,系统迁移程序已经启动,你可以关闭浏览器了。然后程序再慢慢地去写入数据库去。这就是异步。但是用户没有卡死的感觉...
负载均衡 1.什么是负载均衡?当一台服务器的性能达到极限时,我们可以使用服务器集群来提高网站的整体性能。那么,在服务器集群中,需要有一台服务器充当调度者的角色,用户的所有请求都会首先由它接收,调度者再根据每台服务器的负载情况将请求分配给某一台后端服务器去处理。那么在这个过程中,调度者如何合理分配任务,保证所有后端服务器都将性能充分发挥,从而保持服务器集群的整体性能最优,这就是负载均衡问题。(一)HTTP...
java为什么要重写hashCode和equals方法 如果不被重写(原生)的hashCode和equals是什么样的?不被重写(原生)的hashCode值是根据内存地址换算出来的一个值。不被重写(原生)的equals方法是严格判断一个对象是否相等的方法 (object1 == object2)。为什么需要重写equals和hashCode方法?在我们的业务系统中判断对象时有时候需要的不是一种严格意义上的相等,而是一种业务上的对象相等。在这种...
mysql去重 1、使用distinct去重(适合查询整张表的总数)有多个学校+教师投稿,需要统计出作者的总数select count(author) as total from files每个作者都投稿很多,这里有重复的记录。select distinct author from files;有可能两个学校的教师姓名相同,结果只统计一个,出错。select distinct author,sid ...
redis详解-面试篇 使用redis有哪些好处?(1) 速度快,因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1)(2) 支持丰富数据类型,支持string,list,set,sorted set,hash(3) 支持事务,操作都是原子性,所谓的原子性就是对数据的更改要么全部执行,要么全部不执行(4) 丰富的特性:可用于缓存,消息,按key设置过期时间,过期...
Get和post的区别 get参数通过url传递,post放在request body中。get请求在url中传递的参数是有长度限制的,而post没有。get比post更不安全,因为参数直接暴露在url中,所以不能用来传递敏感信息。get请求只能进行url编码,而post支持多种编码方式get请求会浏览器主动cache,而post支持多种编码方式。get请求参数会被完整保留在浏览历史记录里,而post中的参数不...
static关键字的四种使用场景 static关键字主要有以下四种使用场景:1、修饰成员变量和成员方法2、静态代码块3、修饰类(只能修饰内部类)4、静态导包(用来导入类中的静态资源,1.5之后的新特性)修饰成员变量和成员方法(最常用)被static修饰的成员属于类,不属于单个这个类的某个对象,被类中所有对象共享,可以并且建议通过类名调用调用格式:类名.静态变量名类名.静态方法名()用public修饰的static成员...
Hash算法解决冲突的方法 Hash算法解决冲突的方法一般有以下几种常用的解决方法1, 开放定址法:所谓的开放定址法就是一旦发生了冲突,就去寻找下一个空的散列地址,只要散列表足够大,空的散列地址总能找到,并将记录存入公式为:fi(key) = (f(key)+di) MOD m (di=1,2,3,……,m-1)※ 用开放定址法解决冲突的做法是:当冲突发生时,使用某种探测技术在散列表中形成一个探测序列。沿此序列逐个单...
短信验证 本程序是通过使用中国网建提供的SMS短信平台实现的(该平台目前为注册用户提供5条免费短信,3条免费彩信,这足够用于我们测试用了。在使用前需要注册,注册地址为http://sms.webchinese.cn/reg.shtml),下面是程序源码:package ly.wpp;import org.apache.commons.httpclient.Header;import org.apac...
自旋锁与互斥锁的区别 自旋锁(Spin lock)自旋锁与互斥锁有点类似,只是自旋锁不会引起调用者睡眠,如果自旋锁已经被别的执行单元保持,调用者就一直循环在那里看是 否该自旋锁的保持者已经释放了锁,"自旋"一词就是因此而得名。其作用是为了解决某项资源的互斥使用。因为自旋锁不会引起调用者睡眠,所以自旋锁的效率远 高于互斥锁。虽然它的效率比互斥锁高,但是它也有些不足之处: 1、自旋锁...
java static方法不能被重写原因 重写方法的目的是为了多态,或者说:重写是实现多态的前提,即重写是发生在继承中且是针对非static方法的。语法上子类允许出现和父类只有方法体不一样其他都一模一样的static方法,但是在父类引用指向子类对象时,通过父类引用调用的依然是父类的static方法,而不是子类的static方法。即:语法上static支持重写,但是运行效果上达不到多态目的class Father {public s...
java中静态变量与非静态变量的区别 静态变量与非静态变量的区别如下:1.内存分配静态变量在应用程序初始化时,就存在于内存当中,直到它所在的类的程序运行结束时才消亡;而非静态变量需要被实例化后才会分配内存。2.生存周期静态变量生存周期为应用程序的存在周期;非静态变量的存在周期取决于实例化的类的存在周期。3.调用方式静态变量只能通过“类.静态变量名”调用,类的实例不能调用;非静态变量当该变量所在的类被实例化后,可通过实...
使用c3p0连接池 1.JDBC数据库连接池的必要性在使用开发基于数据库的web程序时,传统的模式基本是按以下步骤: 在主程序(如servlet、beans)中建立数据库连接。进行sql操作断开数据库连接。这种模式开发,存在的问题:普通的JDBC数据库连接使用 DriverManager 来获取,每次向数据库建立连接的时候都要将 Connection 加载到内存中,再验证用户名和密码(得花费...
如何将自己本地的项目传到github上 只需要命令就可以把本地的项目上传到自己的github上。。步骤如下:1.登陆自己的github账号,如下图所示 2.点击new repository进行创建一个新的仓库,用来存放自己的项目; 3.也是最重要的部分,用命令将项目上传;1.cd 到上传项目的根目录下,然后初始化本地仓库,git init2.添加当前工作目录文件到index,添加管理,git add .(...
lock和synchronized的同步区别与选择 区别如下: 1. lock是一个接口,而synchronized是java的一个关键字,synchronized是内置的语言实现;(具体实现上的区别在《Java虚拟机》中有讲解底层的CAS不同,以前有读过现在又遗忘了。) 2. synchronized在发生异常时候会自动释放占有的锁,因此不会出现死锁;而lock发生异常时候,不会主动释放占有的锁,必须手动unlock来释放锁,可能引起死锁...
进程通信的几种方式及其各自优缺点 socket a、使用socket通信的方式实现起来简单,可以使用因特网域和UNIX域来实现,使用因特网域可以实现不同主机之间的进出通信。 b、该方式自身携带同步机制,不需要额外的方式来辅助实现同步。 c、随进程持续。 共享内存 a、最快的一种通信方式,多个进程可同时访问同一片内存空间,相对其他方式来说具有更少的数据拷贝,效率较高。 b、需要结合信号灯或其他方式来实现多个进程...
session和cookie 区别(面试) 说说Cookie和Session的区别?1、Cookie和Session都是会话技术,Cookie是运行在客户端,Session是运行在服务器端。2、Cookie有大小限制以及浏览器在存cookie的个数也有限制,Session是没有大小限制和服务器的内存大小有关。3、Cookie有安全隐患,通过拦截或本地文件找得到你的cookie后可以进行攻击。4、Session是保存在服务器端...
创建多线程的几种方式 多线程的形式上实现方式主要有两种,一种是继承Thread类,一种是实现Runnable接口。本质上实现方式都是来实现线程任务,然后启动线程执行线程任务(这里的线程任务实际上就是run方法)。 继承Thread类 实现线程的第一种方式就是继承Thread类的方式。继承Thread类是最简单的一种实现线程的方式,通过jdk给我们提供的Thread类,重写Thread类的run方法即可,那么当线程启...
僵尸进程与孤儿进程详解 我们知道在unix/linux中,正常情况下,子进程是通过父进程创建的,子进程在创建新的进程。任何一个子进程(init除外)在exit()之后,并非马上就消失掉,而是留下一个称为僵尸进程(Zombie)的数据结构,等待父进程处理。 孤儿进程:一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程。孤儿进程将被init进程(进程号为1)所收养,并由init进程对它们完成...
进程和线程的区别?什么时候用进程?什么时候用线程? 进程线程概念区别: 进程是操作系统资源分配的基本单位,线程是操作系统调度资源的基本单位。进程是正在运行的程序的实例,其实就是系统中正在运行的一个应用程序,线程是进程的一个实体。进程包含线程,线程共用进程的资源。 进程与线程的选择取决以下几点: 1、需要频繁创建销毁的优先使用线程;因为对进程来说创建和销毁一个进程代价是很大的。 2、线程的切换速度快,所以在需要大量计算,切换频...
HashMap、HashTable、CurrentHashMap的区别于实现原理 HashTable 底层数组+链表实现,无论key还是value都不能为null,线程安全,实现线程安全的方式是在修改数据时锁住整个HashTable,效率低,ConcurrentHashMap做了相关优化 初始size为11,扩容:newsize = olesize*2+1 计算index的方法:index = (hash & 0x7FFFFFFF) % tab.length H...
TCP与UDP区别 1、TCP与UDP区别总结: 1、TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接 2、TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付Tcp通过校验和,重传控制,序号标识,滑动窗口、确认应答实现可靠传输。如丢包时的重发控制,还可以对次序乱掉的分包进行顺序控制。...
Spring ioc详解 Spring概念 1 spring是开源的轻量级框架2 spring核心主要两部分: (1)aop:面向切面编程,扩展功能不是修改源代码实现 (2)ioc:控制反转, - 比如有一个类,在类里面有方法(不是静态的方法),调用类里面的方法,创建类的对象,使用对象调用方法,创建类对象的过程,需要new出来对象 - 把对象的创建不是通过new方式实现,而是交给spring配置创建类对象...
Java中的四个访问控制符 Java中的四个访问控制符权限从高到低分别为private、protected、包访问权限和private。访问控制符属于类所有,所以在方法中不能使用访问控制符修饰。访问控制符只能修饰类中的成员变量、成员方法和类本身。 1、private 修饰的成员变量,只能为本类中的成员方法所用,在外部类中无法使用。private修饰的成员方法,只能为本类中的其它方法服务。 2、protec...
css常用选择器和常见属性 1)、CSS (cascading style sheets)层叠样式表 -css作用:用来为网页里的HTML元素定义显示风格和样式的。2)、css代码的引入 –引入css代码有以下三种方式 ①、元素内嵌: 语法: <标签 style=”css代码”> 例如: ②、将css代码统一定义在styl...
经典的java多线程死锁例子 一、多个锁之间的嵌套产生死锁。public class DaneLock { public static void main(String[] args) { DieLock d1=new DieLock(true); DieLock d2=new DieLock(false); Thread t1=new Thread(d1); ...
java单例模式之饿汉式、懒汉式 一、单例设计模式是指java中某一个类只有一个实例,并且自行实例化对外提供服务。 1、如何保证对象的唯一性? ①、不允许其它程序使用new方式创建新的实例。 ②、在该类中创建一个唯一的对象实例。 ③、提供方法,共外界调用该实例。 2、步骤: ①、通过new方式私有化该类的一个对象实例。 ②...
java基础之数组 一、什么是数组 数组是用来存放一组类型相同的(在内存中),空间上内存连续的一组引用数据类型。二、数组的声明 一维数组的定义: 数组元素数据类型[] 数组名 例如:int[] a 二位数组的定义: 数组元素数据类型[] 数组名 例如: int[][] a三、数组的实例化 数组的声明仅仅给出了数组的数据类型和数组名,仅仅是一组引用,如...
2018年校招全国统一编程模拟卷-妞妞打车 妞妞参加完Google Girl Hackathon之后,打车回到了牛家庄。 妞妞需要支付给出租车司机车费s元。妞妞身上一共有n个硬币,第i个硬币价值为p[i]元。 妞妞想选择尽量多的硬币,使其总价值足以支付s元车费(即大于等于s)。但是如果从妞妞支付的这些硬币中移除一个或者多个硬币,剩下的硬币总价值还是足以支付车费的话,出租车司机是不会接受的。例如: 妞妞使用价值为2,5,7的硬币去支付s=11...
网易2019实习生招聘编程题 一、牛牛找工作为了找到自己满意的工作,牛牛收集了每种工作的难度和报酬。牛牛选工作的标准是在难度不超过自身能力值的情况下,牛牛选择报酬最高的工作。在牛牛选定了自己的工作后,牛牛的小伙伴们来找牛牛帮忙选工作,牛牛依然使用自己的标准来帮助小伙伴们。牛牛的小伙伴太多了,于是他只好把这个任务交给了你。 输入描述:每个输入包含一个测试用例。每个测试用例的第一行包含两个正整数,分别表示工作的数量N(N<...
常用的排序算法详解 常用的排序算法包括冒泡排序、选择排序、插入排序和快速排序。下面将对这些算法进行详解。一、快速排序 1、基本思想 ①、快速排序算法利用分治策略思想,并与递归相结合。 ②、选取数组中的一个值flag作为基值,第一次循环,使得flag左边的值都小于flag,右边的值都大于或等于flag,基值的选取一般为数组的第一个值。 ...
java中random的用法详解 java中存在两个随机函数,它们分别来自java.long.Math.random()和 java.util.Random();其中前者的适用范围比较小,完全可以被后者取代。一、java.lang.Math.random()方法的用法 ①、方法类型: public static double random(); 此方法是一个无参,dou...
java中charAt与toCharArray以及split用法 一、charAt(i)方法:用于返回字符串中从0开始的第i个字符。 例如: String str="I am String "; charAt(3)=m;二、toCharArray()方法:用于将一个字符串装换成一个字符数组。 例如: String str="I ...
java控制执行语句 大多数过程型编程语言都具有某些形式的控制语句,它们通常在语言间是交迭的。java使用了C语言的所有控制语句,在Java中,控制语言涉及的关键字有if-else、while、do-while、for、return、break以及选择语句switch。然而java并不支持goto语句,但在java中仍然可以进行goto形式的跳转,只是加了很多限制。一、else-if语句 ①、语句形...
最大子字符串问题 问题描述:输入任意多个字符串。当输入exit时结束程序。输出最大的子字符串。要求:输入的字符串中,每个字符再次出现时记录其值,为该字符串长度。例如:输入字符串:abcad 则最大子字符串为:abca样例: 输入:abcabc 输出:abca bcab cabc 输入:abac 输...
java位运算符详解 java位运算符详讲一、位运算符分类 java中位运算符主要有:按位与&、按位或|、按位非~、按位异或^。 在使用时,需要将运算数都转换为二进制再进行运算,若为负数则使用补码表示。二、位运算符使用方式 1、按位与& 使用规则:全一则一,否则为零。 eg:计算7&-5的结果 第一步:byte中的二进制 7的二进制 被除数 ...
java移位运算符详解 前言:java移位运算符详解移位运算符分类:左移运算符<< 右移运算符>> 无符号位右移>>>一、左移运算符<< ①、书写格式 value<<num 即将value数值转换为二进制后,向左移动num位。高位移除舍去、低位补零。 在移动过程中,short、byte、char类型移位后会变成int型。在in...
java语言中变量与常量的定义 前言:变量与常量的定义、区别一、变量与常量的命名规则 ①、变量的定义 ·变量的定义必须严格按照标识符的命名规则,即0~9数字、字母、下滑线、$等组成,且首字母不能是数字、不能是java关键字。 ·首字母必须小写,当有多个单词组成时,后面的单词首字母要大写。 ·变量名一般由名词组成。 ·变量定义:[访问修饰符][修饰符]数据类型 变量名[=初始值]。 eg:public ...
java语言中数据类型 前言:java语言中数据类型的特征与使用说明。一、java中数据类型的分类 java语言中数据类型可分为基本数据类型与引用数据类型。 ①、基本数据类型:int、short、long、float、double、char、byte、boolean ②、引用数据类型:对象、接口、数组、注解、枚举 二、基本数据类型的用法 ①、整形int、short、long、byte int类型数据 占...
计算机中各进制间的转换 前言:我们生活中习惯上用十进制数来表达数据,然而在计算机中是以二进制数来存储和表达数据的。八进制、十六进制用来缩减二进制数长度,也是经常使用的进制数,下面就来讨论下十进制与二进制、八进制、十六进制数之间的准换问题。一、进制数的表达 十进制数,基数为十,用0~9之间的数表达。例如:6898 二进制数,基数为二,用0、1表达。例如:表达一个byte类型的8 计算机中二进制...
使用javadoc命令制作帮助文档(API) /** * 计算器工具类 * * @author GaoHuanjie * @version V1.0 */public class ComputerUtil { /* * 减法运算 * * @param a 加数a * @param b 加数b * @return 返回两个整数的和 */ public static int add(int a, in...
Windows10企业版下载与安装教程 前言:安装windows 10 需要下载win10 映像、制作U盘启动盘的光盘映像文件UltraISO、激活工具KMspico。这些软件,我 都上传至百度网盘里了,你们可以自行下载。链接如下:链接:https://pan.baidu.com/s/1cfoKn7YvF6JaC2OttHfp8g 密码:kvwt下载完成后,就可以进行安装了,步骤如下:一、制作U盘启动盘: 双击UltraI...
编写银行转账系统的数据库 实现通过卡号,查询账户的所有信息。 @SuppressWarnings("static-access") public Account queryAccount(String card_id)throws Exception{ Connection conn=null; PreparedStatement pstm=null; ResultSet rest=null; //①、连接数据库 JDBCutil2 accountutil=new JDBCutil2(); co
用java代码编写连接数据库操作 //①、连接数据库 Accountutil accountutil=new Accountutil(); conn=accountutil.getconnection(); //②、准备sql语句 String str="select card_id,card_passward,card_balance,card_name,card_phone from Account where card_id=?"; //③、发送sql语句 pstm=conn.prepareStat
用java代码通过JDBC连接数据库 ①、下载ojdbc.jar包;官网上可下。②、加载驱动 // Class.forName("oracle.jdbc.OracleDriver");③、连接数据库 //Connection conn=DriverManager.getConnection("url","user","passward"); //url=jdbc:oracle:thin:@ip:端口号:xe;④、准备sql语句。⑤、发送sql语句//PrapareStatement prtm=conn.prapars