
面试
grace.free
本科毕业 从事增删改查工作
展开
-
两个线程顺序输出 A1B2C3D4E5F6G7...
两个线程顺序输出面试题:2个线程顺序输出:A1B2C3D4E5F6G7代码地址:https://github.com/githubforliming/order.git总结集中方法:park unparksynchronized wait notifyLock ReentrantLock自旋BlockingQueueSemaphore*2TrasferQueue一、先论控制线程启动顺序package test;import java.util.concurrent.Coun原创 2021-10-07 22:13:27 · 582 阅读 · 1 评论 -
面试题 String 类型 “12356” 转 int 类型
给一个String str=“123”; 转成int类型数据面试的时候问这个问题,可能考察的不仅仅是parseInt()、valueOf()、intValue等方法这个面试官想要的答案我也没不明白 这里写几种转换方式(转换时不考虑字符串非数字)一、parseIntpublic int String2Int01(String str){ return Integer.parseInt(str);}二、valueOf intValue public int String2Int0原创 2021-04-04 09:54:10 · 334 阅读 · 0 评论 -
面试题小计--001
一、选择题1 、下列整型数据类型中,需要内存空间最少的是(D)。A . shortB . longC . intD . byte2、下面哪些声明式合法的(A)A. long a = 499;B. int i=4L;C. float f=1.1;D. double d =34.43、下列标识符不正确的是(A C D )A. new B. $UsdollarsC. 1234D. car.taxi说明:只能字母 、下划线、 $ 开头, 后边跟字母 、下划线、 $、数字原创 2020-07-28 18:54:20 · 10751 阅读 · 0 评论 -
技术问答-18
CyclicBarrier昨天写了并发包里的CountDownLatch今天写一下CyclicBarrier我理解的CyclicBarrier 的作用就是 比如10个线程 他们会等待彼此都执行完或者都执行完某一部分任务后 才开始一起执行其他任务 有点儿绕package com.test;import java.util.concurrent.CyclicBarrier;impor...原创 2019-03-20 22:53:26 · 2675 阅读 · 0 评论 -
技术问答-19
Semaphore前两次写了并发包的CountDownLatch 和 CyclicBarrier 今天写一下SemaphoreSemaphore 的字面意思是信号量 可以控制线程数原创 2019-03-21 08:19:12 · 2697 阅读 · 0 评论 -
技术问答-13
一、Vector与ArrayList 的理解https://www.cnblogs.com/dengrongzhang/p/9371551.htmlhttps://www.cnblogs.com/rnmb/p/6553711.htmlVector是线程安全的集合类,ArrayList并不是线程安全的类。Vector类对集合的元素操作时都加了synchronized,保证线程安全。 我感觉...原创 2019-03-18 19:05:03 · 2727 阅读 · 0 评论 -
技术问答-20 ArrayList和LinkedList
ArrayList 与LinckedList 都是集合,用于存储一系列的对象引用(注意是对象的引用)知识点://这个会包错 编译错误 因为List是存放引用的 所以不能上int类型List<int> List1 = new ArrayList<E>();//这是是正确的 Integer是int的封装类 Integer i = new Interger(); i是...原创 2019-03-26 08:30:53 · 2729 阅读 · 0 评论 -
技术问答-21 线程 进程
线程与进程区别每个正在系统上运行的程序都是一个进程。每个进程包含一到多个线程。线程是一组指令的集合,或者是程序的特殊段,它可以在程序里独立执行。也可以把它理解为代码运行的上下文。所以线程基本上是轻量级的进程,它负责在单个程序里执行多任务。通常由操作系统负责多个线程的调度和执行。使用线程可以把占据时间长的程序中的任务放到后台去处理,程序的运行速度可能加快,在一些等待的任务实现上如用户输入、文...原创 2019-03-26 23:03:54 · 2786 阅读 · 0 评论 -
技术问答-24 如何实现观察者模式
参考自己之前的博客 忘得差不多了https://blog.youkuaiyun.com/qq_36291682/article/details/74162673一、Java实现观察者模式 用java提供的Observable Observer:package com;import java.util.Observable;import java.util.Observer;/** * 被通...原创 2019-04-20 17:21:31 · 2762 阅读 · 0 评论 -
技术问答-25 Java变量命名
字母、下划线、美元符号($) 开头 ,不能用数字开头。 后边跟字母、下划线、数字、美元符号变量对大小写敏感 长度不限制可能不同的公司有不同的其他命名要求,但是那个只是公司规范 不是java不允许 ,比如阿里命名 不让用下划线,美元符号开头 不是不能用 而是不让用。...原创 2019-04-21 18:39:35 · 2774 阅读 · 0 评论 -
技术问答-22 判断101~200之间有多少个素数(包含101 和 200),并输出所有素数。
知识点:素数(质数)就是除了1和它本身以外,没有其他的数可以被它整除方法1: // 遍历101~200 for (int i = 101; i <= 200; i++) { // 默认是素数 boolean isS = true; // 遍历 从2到i-1 for (int j = 2; j < i - 1; j++) { //如果有能被整...原创 2019-04-20 12:40:48 · 3025 阅读 · 0 评论 -
技术问答-23 javabean创建一个二叉树,左右两个叶子节点 (1)要求每个结点都有两个叶子,每个叶子节点可以找到父节点也可以找到左右两个子节点 (2)提供2中遍历方法
javabean创建一个二叉树,左右两个叶子节点(1)要求每个结点都有两个叶子,每个叶子节点可以找到父节点也可以找到左右两个子节点(2)提供2中遍历方法随便画了一个二叉树前序遍历: 根结点 —> 左子树 —> 右子树遍历上边的树:1,5,4,3,2,8,7,9,6(1) 根节点 1(2)遍历1的左树 根节点 5(3)遍历5的左树 根节点4 无左右树(4)遍历5的右...原创 2019-04-20 15:39:57 · 3118 阅读 · 0 评论 -
20190815-三目(元)运算符类型转换问题
1.编译运行以下程序后,关于输出结果的说明正确的是()public class Conditional{ public static void main(String args[]){ int x=4; System.out.println("value is "+((x>4)?99.9:9)); }}A:value is 99.99 B:value is 9 C:va...原创 2019-08-16 09:26:18 · 3591 阅读 · 0 评论 -
java do{} while()
1. 以下代码执行完后 c的结果是?int a=0, c=0;do{ --c; a = a-1;}while(a>0);A:0B:1C:-1D:死循环答案是: C这个考察点就很简单了,do {} while() 的执行顺序 ,先执行一次do 然后再判断while的条件 如果条件为true接着进行do...原创 2019-08-16 09:52:46 · 3382 阅读 · 0 评论 -
ConurrentHashMap和Hashtable的区别
相同之处:都是key:value 格式的数据结构两者都适用于多线程环境都实现了Map接口 (ConurrentHashMap继承AbstractMap ,AbstractMap实现Map接口)key 和 value 都不能是null (相比HashMap来说 HashMap的key和value都可以是null)不同之处:...原创 2019-08-16 14:34:30 · 3041 阅读 · 0 评论 -
技术问答-16
HashMap 续集https://blog.youkuaiyun.com/harvic880925/article/details/50085595 可参考comparableClassFor: /** * Returns x's Class if it is of the form "class C implements * Comparable<C>", else...原创 2019-03-20 19:54:10 · 2686 阅读 · 0 评论 -
技术问答-15
CountDownLatchCountDownLatch 也是并发包里的一个类我理解的它的做用是监控线程执行状态,如果在主线程中启动了三个线程 A B C我想等A B C 都执行完之后 才执行主线程后边的某段代码 我们当然可以用join 把线程join到我们的主线程中 按顺序执行 但是这就成了单线程了 这个时候我们就需要CountDownLatch1. countDown一个线程执行完...原创 2019-03-20 08:24:33 · 2679 阅读 · 0 评论 -
技术问答-1 跨平台
1. 什么是跨平台?我对跨平台的理解就是 Write Once,Run Anywhere2. 跨平台原理?跨平台少不了我们的大功臣—JVM(JAVA Virtual Machine) java虚拟机1) .java文件(java源码)编译之后会生成.class文件(字节码文件)2) 字节码不能直接运行,它需要被JVM翻译成机器码才能运行3) 同一个JAVA程序,通过JVM翻译,就能...原创 2019-01-25 10:16:09 · 2682 阅读 · 0 评论 -
技术问答-2 Java基本数据类型 字节 字符
1. 字节 字符“字节”是一个8位的物理存贮单元,一个字节由8个二进制位组成“字符”则是一个文化相关的符号UTF-8Unicode 一个char可以存一个中文(2个字节)UTF-8是Unicode的实现方式之一UTF-8 中文都是3个字节UTF-8最大的一个特点,就是它是一种变长的编码方式。它可以使用1~4个字节表示一个符号,根据不同的符号而变化字节长度gbk/gbk18030 ...原创 2019-01-28 09:35:52 · 2736 阅读 · 0 评论 -
技术问答-4 “==” 和 equals 关联 与 区别
遇到这个问题 先说清楚一个,再说另一个==:用来判断两个变量之间的值是否相等变量可以是基本数据类型,也可以是引用类型基本数据类型直接比较值 引用数据类型比较引用的内存首地址,也就是引用数据类型不是比较值,因为引用相等的话,值一定相等。equals:equals比较2个对象长得是否一样,也就是判断2个对象某些特征(属性)是否一样白话“==” 是2个对象完全一样的意思,也就是说这两...原创 2019-01-28 09:51:42 · 2743 阅读 · 0 评论 -
技术问答-5 String StringBuilder StringBuffer
String内容不可变的字符串,也就是说一个字符串如果new出来 内容就不可变了 ,因为String 底层使用了不可变字符数组(final修饰)例子:String str = new Stirng(“xxx”); str的内容就是xxx是不能变的 ,可能会有人说str = “yyy”; 这不是变了吗?错了! xxx还是那个xxx 只是新new了一个yyy而已 而str指向了yyy xxx...原创 2019-01-28 10:08:12 · 2669 阅读 · 0 评论 -
技术问答-6 java中的集合(1)-数组集合比较、集合框架概述
1. 数组集合比较数组和集合都是容器;数组不是面向对象的,存在明显的缺陷,集合弥补了数组的缺陷,比数组更实用,而不同的集合框架类可适用不同的场合说明:数组能存放基本数据类型和引用类型,而集合只能存放引用类型数组长度固定无法改变,集合能动态改变数组无法判断实际存储元素数量,length属性只告诉我们数组的容量,而集合的size方法表示的是集合元素的个数数组是java语言内置数据类型...原创 2019-01-28 11:30:21 · 2768 阅读 · 0 评论 -
技术问答-7 java中的集合(2)-Collection
Collection一、方法概览返回值方法说明intsize()集合大小booleanisEmpty()是不是包含元素(return size == 0 )Iteratiriterator()获取迭代器Object[]toArray()转换成Object数组 T[]toArray(T[] a)转换成指定类型的数组bool...原创 2019-01-28 14:17:22 · 2742 阅读 · 0 评论 -
技术问答-8 java中的集合(3)-Set
Set一、set是什么Set是一种没有重复元素的集合,它所有的方法都是直接继承Collection接口,并且添加了一个对重复元素的限制,Set要求强化了equals和hashCode两个方法,以使set集合可以对元素进行排序和对比。二、方法Set没有在Collection上新增接口 但是他的子类添加新方法了返回值方法说明SortedSet< E >su...原创 2019-01-28 14:51:55 · 2747 阅读 · 0 评论 -
技术问答-9 java中的集合(4)-List
List一、List是什么List是有序集合,有时也被称为序列,可以有重复的元素List相对于集合Collection扩展了一些方法 :位置访问、搜索、迭代、视图与Set一样,List要求强化equal和hashCode以使两个集合元素可以进行逻辑上的比较,而不考虑他们具体实现类的类型。当两个List有相同元素时,他们被认为是相等的二、新增方法返回值方法描述b...原创 2019-01-28 15:38:22 · 2699 阅读 · 0 评论 -
技术问答-10 java中的集合(5)-Queue
Queue一、Queue是什么Queue是一种队列结构集合,用来储存将要进行处理的元素,一般会以FIFO的方式排序元素,但这不是必须的。比如优先级队列就是一个例外,优先级队列是以元素的值来排序。但是无论怎么样,每个queue的实现都必须制定它的排序属性。queue通常不定义元素的equal和hashCode二、Queue的实现1. 非阻塞LinkedList 实现了Queue和Ab...原创 2019-01-28 16:09:34 · 2703 阅读 · 0 评论 -
技术问答-11 java中的集合(6)-Map
Map一、Map简介Map提供了一个更通用的元素存储方法。Map集合类用于存储元素对(成为键值对),其中每个键映射一个值。二、Map 常用类1. HashMap最常用的Map,它根据键的HashCode 值存储数据,根据键可以直接获取它的值,具有很快的访问速度。HashMap 最多允许一条记录的键为Null(多条会覆盖 其实不为Null 的其他key值也不能重复);允许多条记录的值为Nu...原创 2019-01-29 08:30:35 · 2724 阅读 · 0 评论 -
技术问答-12 java字节流和字符流
1.什么是流Java中,把所有的输入和输出都当做流来处理。“流”是一种抽象概念,他代表任何有能力产出数据的数据源对象或者有能力接收数据的接收端对象。“流”屏蔽了实际的输入/输出设备中处理数据的细节。一个程序可以打开一个数据源上的流,然后按顺序读取这个流中的数据到程序中,这样的流称为输入流。一个程序打开一个目的地的流,然后按顺序的把程序中的数据写入到这个目的地中,这样的流称为输出流。2.字节流...原创 2019-01-29 09:18:12 · 2774 阅读 · 0 评论 -
技术问答-13 Java线程的实现方式
1. 继承Thread类package test;import java.util.concurrent.TimeUnit;public class Test extends Thread{ public void run() { for(int i=0;i<10;i++){ try { TimeUnit.SECONDS.sleep(2); System...原创 2019-01-29 10:27:16 · 2761 阅读 · 0 评论 -
技术问答-18 设计模式
之前写过28种设计模式点击跳转Java常用的应该有 : 单例模式 工厂模式/抽象工厂模式 观察者模式 代理模式 适配器模式 等参考: 参考点击跳转我对设计模式的理解就是 可以先了解 项目中如果有复杂的业务逻辑的时候 想想能不能用设计模式优化~...原创 2019-01-29 11:25:27 · 2734 阅读 · 0 评论 -
技术问答-14
Hashtable与HashMaphttp://www.importnew.com/7010.html都继承了Mappublic class Hashtable<K,V> extends Dictionary<K,V> implements Map<K,V>, Cloneable, java.io.Serializable {pub...原创 2019-03-19 22:34:47 · 2707 阅读 · 0 评论 -
面试流程
一、自我介绍我叫xxx,有yyy年工作经验,先后做过aaa项目,bbb项目,平时喜欢kkk二、项目介绍为了解决什么问题 开发了一套什么样的系统 该系统的主要组成部分是x,y,z自己参与开发的模块,说一下业务设计,简单的介绍项目的整体架构技术(根据所负责的模块进行解释)三、技术问答这个关于面试题 我会单独写几篇博客 也是为了自己学习吧 总结一下面试中遇到的面试题四、多轮面试完成...原创 2019-01-25 08:29:34 · 2787 阅读 · 0 评论