精华内容
下载资源
问答
  • 可乐百事可乐什么区别?好吧,它不是真的相似,但很多的差异是在定性的方式。说到Netbeans 6.16.5:> Netbeans一个非常不同的UI工作流。没有观点,但工具栏等将自动根据需要出现/隐藏(即,调试)。构建...

    可乐和百事可乐有什么区别?

    好吧,它不是真的相似,但很多的差异是在定性的方式。说到Netbeans 6.1和6.5:

    > Netbeans有一个非常不同的UI和工作流。没有观点,但工具栏等将自动根据需要出现/隐藏(即,调试)。构建过程是不同。管理项目是不同。> Netbeans专注于平滑,综合经验有时功能的费用。的Profiler完全集成到编辑器(上下文菜单让你快速操纵分析器),但缺乏一些特色Eclipse分析器。> Netbeans有一个紧密集成的JSP / Servlet / JSF开发环境。整个工作流连接在一起从发展,调试,部署。这是更多的“感觉”比任何其他。> Netbeans编辑器缺少几个Eclipse功能。拼写检查一个突出的。快速完成(Ctrl-K,Ctrl-J)是未充分利用的Netbeans功能。代码段另一个(虽然他们有自动完成模板填充不同,但类似的利基)。>较少的选择。如果你不喜欢一个的包含的工具,它不太可能你会发现一个很好的选择插入。> Matisse。 Eclipse GUI编辑有开始赶上,但他们是只是没有比较马蒂斯。从表面上看,他们似乎当量…>< sarcasm>你的朋友会做你的乐趣。< / sarcasm>

    展开全文
  • Java有没有goto3. 数据库的左连接右连接4. 问了下GC5. String s = new String(ab) 生成几个对象6. 用Spring 的话,事物处理是怎么做的7. 用hibernate,session工厂怎么做的,怎么配置8. 异常是如何处理的...

    2012-12-24 20:28:19

    阅读( 10 )

    面试问题:1. Collection 和 Collections 的区别2. Java里有没有goto3. 数据库的左连接右连接4. 问了下GC5. String s = new String(ab) 生成几个对象6. 用Spring 的话,事物处理是怎么做的7. 用hibernate,session工厂怎么做的,怎么配置8. 异常是如何处理的9. SSH整体流程(主要)10. 如何链接数据库,怎么配置的(是JDBC,JNDI,连接池的)11. 服务器方面的问题 WEB LOGIC 和 WEB SHPERE 连接池怎么做,发布项目如何发布12. 用过什么数据库,SQL就比较简单了。可能会问道ORCLE,用过吗,都用过什么版本?能做什么? 用过什么插件,(pl/sql)常用插件。触发器,和存储过程用过吗?还会问道一些基本的函数问题项目相关问题1.做过什么项目2.说说项目的具体业务流程3.项目里你具体负责什么。4.负责部分的功能5.用的什么版本控制器?6.项目中用户的安全问题7.在用户不输入用户名和密码的情况下,直接在地址栏内输入JSP页面,如何跳转,如何解决这个问题!8.做过所有项目的业务逻辑。9.涉及的核心问题是SSH框架内容,原理问题10.具体如何配置SSH框架的11.在ECLIPSE环境下SSH环境的配置12.前台做的业务,是怎么在后台得到的。13.STRUTS 跳转页在哪里配置14.跳转页的变量名是什么?15.项目用到了Struts ,都用到了那些标签。16.项目是基于什么框架的,17.上一个问题延伸出来:网站点击率怎么样。18.网站做过加密处理吗?19.还会问一些基本的JS,HTML,SQL语法20.ORACLE数据库21.用过哪几种关于JAVA开发的工具用过什么数据库22.你在项目中所做的模块(用到了哪些技术,项目流程,需求分析、详细设计、概要设计、数据库设计、做项目时遇没遇到什么问题)23.项目所用的框架,用没用过Hibernate,Spring24.负责过整个项目吗?25.你作为一个项目经理是怎么分模块的?26.参加工作的时间有多久。27.有没有做过数据库报表。28.对JAVASCIRPT了解吗?曾经做过什么样的例子。29.有没有用过JUNIT做过测试。30.对ANT是否熟悉。31.有没有写过存储过程。

    分享给朋友:

    亲~ 如果您有更好的答案 可在评论区发表您独到的见解。

    您想查看更多的信息:

    面试题

    展开全文
  • 继续来分享我的学习经验 我们平时写程序时经常会陷入equal“==”这...总体来说equal“==”都是表示相等的意思,但它们却很大的区别,如果没有好好理解它们,就可能在我们的编程工作中造成一些难以发现的bug 那

    继续来分享我的学习经验

    我们平时写程序时经常会陷入equal和“==”这两个陷阱中,有时候要用“==”来判断就可以,有时候却只能用equal来判断,我之前做项目的时候也经常会在这里出现一些问题

    接下来我们继续从内存分配的角度来看待这两个判定方式

    总体来说equal和“==”都是表示相等的意思,但它们却有很大的区别,如果没有好好理解它们,就有可能在我们的编程工作中造成一些难以发现的bug

    那让我们来看看如下这段程序

    class EqualTest
    {
        public static void main(String[] args){
    	//声明一个s1变量,由于此处是基本类型变量以直接量的方式来创建java对象,
    	//对于java程序中的字符串直接量,JVM会使用一个字符串池来保存它们,即保存在一块堆内存中,
        String s1 ="java";
    	
    	//再声明一个s2变量,由于“java”这个字符串直接量因为上一句的s1的创建,已经存在字符串池中,
    	//因此会从该字符串池中取出该对象,并赋给s2,内存分配如图2.1所示
    	String s2 ="java";
    	
    	//对于“==”判定符来说,比较的是两个变量所指向的是否是同一个对象来判断是否相等的
    	//因此s1和s2是同一个字符串直接量,固结果类true
        System.out.println("s1==s2:"+(s1==s2));
    	
    	//采用new 调用构造器来创建一个java对象,此时尽管变量s3的值为“java”,
    	//但是在堆内存中却是一个新创建的对象,内存分配如图2.2所示
    	String s3 =new String("java");
    	
    	//此时s1和s3分别指向两个不同的对象,因此结果会是false
    	System.out.println("s1==s3:"+(s1==s3));
    	
    	//此处是调用String重写过的equals()方法进行比较,该方法比较的是两个字符串所包含的字符序列是否完全相同
    	//因此此处的结果会是true
    	System.out.println("s1.equals(s3):"+s1.equals(s3));
     }
    }




    equals()方法是java.lang.Object的方法,也就是所有的java类都会有的方法。它可以被程序员覆盖重写,通过自定义的方式来判定两个对象是否要相等,其中默认的方式与“==”相同。另外,java,lang,String类是一个特殊的类,它不可以被继承,它的equals()方法用来比较字符串的字符序列是否完全相等。

    有如下程序,有重写equals()方法来判定学生对象是否相等


    class Student
    {
       String name;
       int age;
       public Student(String name,int age){
         this.name=name;
    	 this.age=age;
       }
       //比较方法,只有姓名和年龄相等才相等
       public boolean equals(Student obj){
          Student student = obj;
    	  return this.name.equals(student.name)&&this.age==student.age;
       }
    }
    class TestStudent
    {
       public static void main(String[] args){
       //比较学生对象
         Student stu1 = new Student("joffy",21);
    	 Student stu2 = new Student("joffy",21);
    	 Student stu3 = new Student("joffy",22);
    	 System.out.println("stu1.equals(stu2):"+stu1.equals(stu2));
    	 System.out.println("stu1.equals(stu3):"+stu1.equals(stu3));
       }
    }

    本次学习就分享到这里,如果有错的地方希望大家指正。


    展开全文
  • MyBatis#$什么区别?Redis你用到它那些结构?多线程你了解多少?怎么保证线程安全?怎么管理线程?假如一个List,其中存的是用户User对象,用户对象很多属性,我要根据其中的年龄属性对List排序,这个该...


    介绍一下你做的某些模块,有些什么比较复杂的地方?

    略。


    你们的文件怎么存储的?

    我们的文件是存储在MongoDB中的。

    MongoDB单个文档的存储限制是16M,如果要存储大于16M的文件,就要用到MongoDB GridFS。

    GridFS是Mongo的一个子模块,使用GridFS可以基于MongoDB来持久存储文件。并且支持分布式应用(文件分布存储和读取)。作为MongoDB中二进制数据存储在数据库中的解决方案,通常用来处理大文件。

    GridFS使用两个集合(collection)存储文件。一个集合是chunks, 用于存储文件内容的二进制数据;一个集合是files,用于存储文件的元数据。

    GridFS会将两个集合放在一个普通的buket中,并且这两个集合使用buket的名字作为前缀。MongoDB的GridFs默认使用fs命名的buket存放两个文件集合。因此存储文件的两个集合分别会命名为集合fs.files ,集合fs.chunks。

    GridFS存储文件示意图

    在这里插入图片描述

    怎么没有用文件服务器?

    直接将文件使用通过FTP上传到文件服务器,并将文件地址存储到MySQL数据库。这种方式也是可行的。

    但是,文件系统到了后期会变的很难管理,同时不利于扩展,此外我想做分布式文件系统也显得不那么容易。而GridFS却正好相反,它基于MongoDB的文件系统,便于管理和扩展。

    当然了,还有其它的一些分布式文件存储系统如FastDFS,可以根据文件存储的实际情况来进行选择。


    文件存储有没有做备份?

    目前是手动备份。

    后面计划写一个自动备份的脚本来每日备份。


    在项目上有没有什么搞不定的问题?

    略。


    对搞不定的问题你是怎么处理的?

    略。


    你们项目怎么测试?

    略。


    MyBatis#和$有什么区别?

    #{}是预编译处理,${}是字符串替换。

    (1)mybatis在处理#{}时,会将sql中的#{}替换为?号,调用PreparedStatement的set方法来赋值。

    (2)mybatis在处理${}时,就是把${}替换成变量的值。

    (3)使用#{}可以有效的防止SQL注入,提高系统安全性。原因在于:预编译机制。

    预编译是提前对SQL语句进行预编译,而其后注入的参数将不会再进行SQL编译。我们知道,SQL注入是发生在编译的过程中,因为恶意注入了某些特殊字符,最后被编译成了恶意的执行操作。而预编译机制则可以很好的防止SQL注入。预编译完成之后,SQL的结构已经固定,即便用户输入非法参数,也不会对SQL的结构产生影响,从而避免了潜在的安全风险。


    Redis你用到它那些结构?

    主要用到了String、Hash、Set。

    String:常规key-value缓存应用。用来存一些计数。

    Hash: 键值(key => value)对集合。用来存一些对象,对应Java集合中的HashMap。

    Set: set是string类型的无序集合。对应Java中的HashSet,用来存一些需要去重的数据。


    多线程你了解多少?

    • 先说说多线程是个什么:
      要说线程,就得先讲,进程:进程可以简单的理解为一个可以独立运行的程序单位,它是线程的集合,进程就是有一个或多个线程构成的。而线程是进程中的实际运行单位,是操作系统进行运算调度的最小单位。可理解为线程是进程中的一个最小运行单元。
      那么多线程就很容易理解:多线程就是指一个进程中同时有多个线程正在执行。

    • 再说说为什么要用多线程?
      简单说来,使用多线程就是为了提高CPU的利用效率。

    • 最后简单说说线程的创建:在Java中有三种线程创建方式。
      继承 Thread 类创建线程类
      实现Runnable接口创建线程类
      使用 Callable 和 Future 创建线程


    怎么保证线程安全?

    保证线程安全有以下几种方式:

    • Synchronized 关键字:被 Synchronized 关键字描述的方法或代码块在多线程环境下同一时间只能由一个线程进行访问,在持有当前 Monitor 的线程执行完成之前,其他线程想要调用相关方法就必须进行排队,知道持有持有当前 Monitor 的线程执行结束,释放 Monitor ,下一个线程才可获取 Monitor 执行。
    • Volatile 关键字:被 Volatile 关键字描述变量的操作具有可见性和有序性(禁止指令重排)
    • java.util.concurrent.atomic原子操作:ava.util.concurrent.atomic 包提供了一系列的 AtomicBoolean、AtomicInteger、AtomicLong 等类。使用这些类来声明变量可以保证对其操作具有原子性来保证线程安全。
    • Lock:Lock 也是 java.util.concurrent 包下的一个接口,定义了一系列的锁操作方法。Lock 接口主要有 ReentrantLock,ReentrantReadWriteLock.ReadLock,ReentrantReadWriteLock.WriteLock 实现类。与 Synchronized 不同是 Lock 提供了获取锁和释放锁等相关接口,使得使用上更加灵活,同时也可以做更加复杂的操作。

    怎么管理线程?

    通常,会使用线程池来管理线程。

    在 JDK 1.5 之后推出了相关的 api,常见的创建线程池方式有以下几种:

    • Executors.newCachedThreadPool():无限线程池。
    • Executors.newFixedThreadPool(nThreads):创建固定大小的线程池。
    • Executors.newSingleThreadExecutor():创建单个线程的线程池。

    其实看这三种方式创建的源码就会发现:

    public static ExecutorService newCachedThreadPool() {
        return new ThreadPoolExecutor(0, Integer.MAX_VALUE,
                                      60L, TimeUnit.SECONDS,
                                      new SynchronousQueue<Runnable>());
    }
    

    实际上还是利用 ThreadPoolExecutor 类实现的。

    通常我们都是使用:

    	
    threadPool.execute(new Job());
    
    

    这样的方式来提交一个任务到线程池中,所以核心的逻辑就是 execute() 函数了。

    线程池一共有五种状态, 分别是:

    • RUNNING :能接受新提交的任务,并且也能处理阻塞队列中的任务;
    • SHUTDOWN:关闭状态,不再接受新提交的任务,但却可以继续处理阻塞队列中已保存的任务。在线程池处于 RUNNING 状态时,调用 shutdown()方法会使线程池进入到该状态。(finalize() 方法在执行过程中也会调用shutdown()方法进入该状态);
    • STOP:不能接受新任务,也不处理队列中的任务,会中断正在处理任务的线程。在线程池处于 RUNNING 或 SHUTDOWN 状态时,调用 shutdownNow() 方法会使线程池进入到该状态;
    • TIDYING:如果所有的任务都已终止了,workerCount (有效线程数) 为0,线程池进入该状态后会调用 terminated() 方法进入TERMINATED 状态。
    • TERMINATED:在terminated() 方法执行完后进入该状态,默认terminated()方法中什么也没有做。
      进入TERMINATED的条件如下:
      • 线程池不是RUNNING状态;
      • 线程池状态不是TIDYING状态或TERMINATED状态;
      • 如果线程池状态是SHUTDOWN并且workerQueue为空;
      • workerCount为0;
      • 设置TIDYING状态成功。

    下图为线程池的状态转换过程:

    在这里插入图片描述
    再看看Excute方法的执行:

    在这里插入图片描述

    1、获取当前线程池的状态。
    2、当前线程数量小于 coreSize 时创建一个新的线程运行。
    3、如果当前线程处于运行状态,并且写入阻塞队列成功。
    4、双重检查,再次获取线程状态;如果线程状态变了(非运行状态)就需要从阻塞队列移除任务,并尝试判断线程是否全部执行完毕。同时执行拒绝策略。
    5、如果当前线程池为空就新创建一个线程并执行。
    6、如果在第三步的判断为非运行状态,尝试新建线程,如果失败则执行拒绝策略。

    当前SpringBoot比较流行,我们可以发挥Spring的特性,由Spring来替我们管理线程:

    @Configuration
    public class TreadPoolConfig {
        /**
         * 消费队列线程
         * @return
         */
        @Bean(value = "consumerQueueThreadPool")
        public ExecutorService buildConsumerQueueThreadPool(){
            ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
                    .setNameFormat("consumer-queue-thread-%d").build();
            ExecutorService pool = new ThreadPoolExecutor(5, 5, 0L, TimeUnit.MILLISECONDS,
                    new ArrayBlockingQueue<Runnable>(5),namedThreadFactory,new ThreadPoolExecutor.AbortPolicy());
            return pool ;
        }
    }
    

    使用时:

    @Resource(name = "consumerQueueThreadPool")
    private ExecutorService consumerQueueThreadPool;
    @Override
    public void execute() {
        //消费队列
        for (int i = 0; i < 5; i++) {
            consumerQueueThreadPool.execute(new ConsumerQueueThread());
        }
    }
    

    其实也挺简单,就是创建了一个线程池的 bean,在使用时直接从 Spring 中取出即可。


    假如有一个List,其中存的是用户User对象,用户对象有很多属性,我要根据其中的年龄属性对List排序,这个该怎么办?

    可以通过Collections类的sort方法。但需要注意,使用sort方法的时候:

    • 要么 User类实现Comparable接口,并在类中编写public int compareTo(T o)方法
    public class User implements Comparable<User> {
    	private int age;
    	private String name;
    	private String sex;
    
    	@Override
    	public int compareTo(User o) {
    		if (this.getAge() > o.getAge()) {
    			return 1;
    		} else if (this.getAge() < o.getAge()) {
    			return -1;
    		} else {
    			return 0;
    		}
    	}
      // ……
    }
    
    		List<User> userList=new ArrayList();
    		userList.add(new User(10, "王二", "男"));
    		userList.add(new User(8, "张三", "男"));
    		userList.add(new User(17, "李四", "女"));
    		Collections.sort(userList);
    		System.out.println(userList);
    
    • 或者在排序的时候,给sort()方法传入一个比较器。具体来说,就是传入一个实现比较器接口的匿名内部类。
    		List<User> userList=new ArrayList();
    		userList.add(new User(10, "王二", "男"));
    		userList.add(new User(8, "张三", "男"));
    		userList.add(new User(17, "李四", "女"));
    		//Collections.sort(userList);
    		Collections.sort(userList, new Comparator<User>() {
    
    			@Override
    			public int compare(User o1,User o2) {
    				if(o1.getAge()>o2.getAge()) {
    					return 1;
    				}else if(o1.getAge()<o2.getAge()) {
    					return -1;
    				}else {
    					return 0;
    				}
    			}
    		});
    		System.out.println(userList);
    

    在Java8以后可以使用Lamda表达式来进行函数式地编程:

    userList.sort((a, b) -> Integer.compare(a.getAge(), b.getAge()));
    

    jdk 1.8的Stream用的多吗?

    Stream 作为 Java 8 的一大亮点,它与 java.io 包里的 InputStream 和 OutputStream 是完全不相关的东西。

    Java 8 中的 Stream 是对集合(Collection)对象功能的增强,它专注于对集合对象进行各种非常便利、高效的聚合操作(aggregate operation),或者大批量数据操作 (bulk data operation)。
    下面是使用流的过程:
    在这里插入图片描述

    下面是一个使用流的实例,用于List的迭代:

    		List<String> stringList = new ArrayList<String>();
    
    		stringList.add("one");
    		stringList.add("two");
    		stringList.add("three");
    		stringList.add("one");
    
    		Stream<String> stream = stringList.stream();
    
    		stream.forEach( element -> { System.out.println(element); });
    
    

    JWT知道吗?

    JSON Web Token(缩写 JWT)是目前最流行的跨域认证解决方案。

    传统的session认证一般是这样的流程:

    • 1、用户向服务器发送用户名和密码。

    • 2、服务器验证通过后,在当前对话(session)里面保存相关数据,比如用户角色、登录时间等等。

    • 3、服务器向用户返回一个 session_id,写入用户的 Cookie。

    • 4、用户随后的每一次请求,都会通过 Cookie,将 session_id 传回服务器。

    • 5、服务器收到 session_id,找到前期保存的数据,由此得知用户的身份。

    在这里插入图片描述

    这种模式的问题在于,扩展性(scaling)不好。单机当然没有问题,如果是服务器集群,或者是跨域的服务导向架构,就要求 session 数据共享,每台服务器都能够读取 session。

    一种解决方案是 session共享,将session持久化或者存入缓存。各种服务收到请求后,都向持久层或缓存请求数据。这种方案的优点是架构清晰,缺点是工程量比较大。另外,持久层或者缓存万一挂了,就会认证失败。

    另一种方案是服务器索性不保存 session 数据了,所有数据都保存在客户端,每次请求都发回服务器。JWT 就是这种方案的一个代表。

    JWT认证流程:

    • 1、 用户使用账号和密码发出post请求;
    • 2、 服务器使用私钥创建一个jwt;
    • 3、 服务器返回这个jwt给浏览器;
    • 4、 浏览器将该jwt串在请求头中像服务器发送请求;
    • 5、 服务器验证该jwt;
    • 6、 返回响应的资源给浏览器。

    在这里插入图片描述


    数据库事务知道吗?

    事务(TRANSACTION)是作为单个逻辑工作单元执行的一系列操作, 这些操作作为一个整体一起向系统提交,要么都执行、要么都不执行 。

    事务是一个不可分割的工作逻辑单元事务必须具备以下四个属性,简称 ACID 属性:

    • 原子性(Atomicity) :事务是一个完整的操作。事务的各步操作是不可分的(原子的);要么都执行,要么都不执行。
    • 一致性(Consistency): 当事务完成时,数据必须处于一致状态。
    • 隔离性(Isolation) :对数据进行修改的所有并发事务是彼此隔离的, 这表明事务必须是独立的,它不应以任何方式依赖于或影响其他事务。
    • 永久性(Durability) : 事务完成后,它对数据库的修改被永久保持,事务日志能够保持事务的永久性

    你写的代码用到事务吗?

    通过在方法加注解 @Transactional 来实现声明式的事务。

    Spring 事务管理分为编码式和声明式的两种方式。编程式事务指的是通过编码方式实现事务;声明式事务基于 AOP,将具体业务逻辑与事务处理解耦。声明式事务管理使业务代码逻辑不受污染, 因此在实际使用中声明式事务用的比较多。声明式事务有两种方式,一种是在配置文件(xml)中做相关的事务规则声明,另一种是基于 @Transactional 注解的方式。


    常用的检索优化方式有哪些?

    • 1、查询语句中不要使用select *
    • 2、尽量减少子查询,使用关联查询(left join,right join,inner join)替代
    • 3、减少使用IN或者NOT IN ,使用exists,not exists或者关联查询语句替代
    • 4、or 的查询尽量用 union或者union all 代替(在确认没有重复数据或者不用剔除重复数据时,union all会更好)
    • 5、应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。
    • 6、应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: select id from t where num=0

    Linux了解多少?

    (这里应该是想问用过的命令)日产工作中,下面这些命令经常用到:

    • 查看当前目录:pwd
    • 切换目录 : cd
    • 查看目录下的文件 :ls/ls -lh
    • 创建目录:mkdir
    • 启动war包:java -jar xx.war
    • 后台启动war包:nohup java -jar * xx.war&
    • 查找进程:ps –aux|grep java
    • 杀死进程:kill -9 pid



    参考:

    【1】:SpringBoot学习笔记(十一:使用MongoDB存储文件 )
    【2】:GridFS 基于 MongoDB 的分布式文件存储系统
    【3】:Linux下shell脚本实现mongodb定时自动备份
    【4】:Mybatis中#{}和${}的区别是什么
    【5】:Redis五种数据类型及应用场景
    【6】:Redis五种数据类型及应用场景
    【7】:面试官:说说什么是线程安全?一图带你了解java线程安全
    【8】:如何优雅的使用和理解线程池
    【9】:深入理解 Java 线程池:ThreadPoolExecutor
    【10】:透彻的掌握 Spring 中 @Transactional的使用
    【11】:SpringBoot学习笔记(十三:JWT )
    【12】:Java8 Stream

    展开全文
  • 2、Java有没有goto? 8 3、说说&&&的区别。 8 4、在JAVA中如何跳出当前的多重嵌套循环? 8 5、switch语句能否作用在byte上,能否作用在long上,能否作用在String上? 9 6、short s1 = 1; s1 = s1 + 1;有什么错? ...
  • 面试题包含了不同技术层面的面试问题,同时也能对一些没有面试开发经验的小白给予不可估量的包装, 让你的薪水绝对翻倍, 本人亲试有效.Java面试题84集、java面试专属及面试必问课程,所有的面试题视屏讲解, 解答方案....
  • 以我在项目经验,这两个区别我们在项目中推荐使用true==a,是为了防止人漏写一个=号,做这种判断时定值放在前面少写=号会报编译错,而反过来写就不会,导致结果出错后还不容易调试出来。 答案:没有区别 ...
  • Java面试宝典2010版

    2011-06-27 09:48:27
    2、Java有没有goto? 3、说说&&&的区别。 4、在JAVA中如何跳出当前的多重嵌套循环? 5、switch语句能否作用在byte上,能否作用在long上,能否作用在String上? 6、short s1 = 1; s1 = s1 + 1;有什么错? short s1...
  • 最新Java面试宝典pdf版

    热门讨论 2011-08-31 11:29:22
    2、Java有没有goto? 7 3、说说&&&的区别。 8 4、在JAVA中如何跳出当前的多重嵌套循环? 8 5、switch语句能否作用在byte上,能否作用在long上,能否作用在String上? 9 6、short s1 = 1; s1 = s1 + 1;有什么错? ...
  • 1.1.1 Java有什么优势? 2 1.1.2 Java在哪儿? 3 1.2 准备好开始Java之旅 3 1.2.1 下载JDK 4 1.2.2 安装JDK 5 1.2.3 配置环境变量 6 1.2.4 测试环境是否安装成功 8 1.2.5 如果失败了怎么办? 9 1.3 让自己的...
  • 前言 最近两部剧爆火,30而已,20不惑,其实刚刚开始看这个2个电视剧我在想是不是说反了。不是应该29而已,30不惑吗?...我曾服务于东芝,东方集团,阿里,三一重工,15年项目开发经验,熟悉汇编,java,c/c++开发语言
  • 最近一直都在看有关三层MVC的资料,说来也挺可笑的,刚开始看培养目标的时候,还以为三层MVC是同一个东西呢,所以...由于没有项目经验,还只是在初步学习阶段,所以只能借鉴网上大部分主流的观点,先从理论上了...
  • Java 面试宝典

    2013-02-01 10:02:08
    2、Java 有没有 goto? ....................................................................................................... 8 3、说说&&&的区别。 ......................................................
  • 1.1.1 Java有什么优势? 2 1.1.2 Java在哪儿? 3 1.2 准备好开始Java之旅 3 1.2.1 下载JDK 4 1.2.2 安装JDK 5 1.2.3 配置环境变量 6 1.2.4 测试环境是否安装成功 8 1.2.5 如果失败了怎么办? 9 1.3 让自己的...
  • 1.1.1 Java有什么优势? 2 1.1.2 Java在哪儿? 3 1.2 准备好开始Java之旅 3 1.2.1 下载JDK 4 1.2.2 安装JDK 5 1.2.3 配置环境变量 6 1.2.4 测试环境是否安装成功 8 1.2.5 如果失败了怎么办? 9 1.3 让自己的...
  • 区块链钱包开发之BCH(BSV)Java版本离线签名

    千次阅读 热门讨论 2019-03-08 12:41:19
    距离上一篇博客一段时间了,中间也一直在做其他事情,没时间更新博客,现在就来说下BCH(BSV)的java版本的离线签名,我发这篇博客的原因也是因为之前在对接BCH(BSV)的时候没有找到什么好的资料,后面通过一些开源项目和...
  • Java_集合_前言(1)

    2018-03-19 14:40:33
    做Android一段时间了,项目经验积累了不少,但基础没有跟上来。印象很深的是,老大问我两个问题: 1,hashMaphashtable的区别是什么,除了线程安全不安全,还有什么。 2,ArrayList如何实现自增的,自增的...
  • 开头 Android开发,假如开始没有任何的开发经验的话, 千万不要着急,不要想着在短时间内就把一个语言学习好, ...首先我们来看一下组件化项目和传统项目区别: 在传统的项目里 我们通常情况下会一个commonLib的Li
  • 枸杞的由来技术栈

    2021-01-02 15:11:32
    所以我也没有经验谈谈 React Native bundler codepush 这两个功能。 <h2>TypeScript 我现在是 TypeScript 的脑残粉。 别误会,我还是很喜欢 ES6 ESLint 的。尤其是 ESLint,感觉这才是尼古拉斯·...
  • 记录关于自己在面试过程中被问到的...5、有没有项目中使用过索引,索引如何使用 6、在mysql中unionjoin的区别 7、如何优化sql 8、关于java的设计模式的了解(可能会让你手写单例模式) 9、关于volatile的理解 ...
  • 刚刚开始学习javascript时,其实并没有过多的看过相关方面的书籍,只是稍微了解了其...看了看JavaScrip高级程序设计,才发现其实js跟之前的c++和java还是很多区别的,很多时候踩坑就是因为不清楚js跟这些语言本质 上
  • 还有关于自己什么做项目经验吗?参加了什么比赛。 技术的问题整理一下吧。 1、Java的循环什么。 for,while,do-while。 whiledo-while的区别。 while先判断后执行,do-while先执行后判断,至少会执行一次。 ...
  • 58测试开发面试

    2018-05-25 12:43:24
    面试题目,问的很基础(可能主要是因为我没有项目经验)。 Java重载重写的区别 C语言数组能否以参数传递,能的话怎么的得到元素个数 数据结构:二叉树遍历,两个栈怎么做成一个队列 数据库:多表怎么查询,这...
  • Windows安装RabbitMQ

    2019-08-09 14:39:53
    之前在公司项目使用过MQ,但没有过多的了解与使用经验。RabbitMQ是这周才刚开始学习了解的,缘由是最近看了一篇JAVA技术栈相关的文章,发现自己也做了好几年开发,但很多技术点都涉足太少了,甚至没有。想了想就...
  • Java有哪些热门就业方向? 安卓开发 Java 后端开发 大数据/数据仓库 Java基础 学什么? 怎么学? 视频学习 精选书籍推荐 面试系列 Java进阶 学什么? 怎么学? 精选书籍推荐 Java注解 Java8实战...
  • 心理分析:面试官从架构层次 了解求职者是否用过 模块化 组件化 插件化,在过去经验有没有运用过这些技术到项目中,这道题属于一个连环炮。求职者该格外小心 **求职者:**应该从App开发的需求来定义技术选型,分别...
  • 所以告诉我流程“自我介绍-讲一下最熟悉的项目-基础知识-问问题”,还让我不熟悉的直接说,没关系的,没有测试经验无所谓,因为学校都不开。更看重学习能力思路、流程把控、质量提升,看懂开发的代码,当然还是偏...
  • 心理分析:面试官从架构层次 了解求职者是否用过 模块化 组件化 插件化,在过去经验有没有运用过这些技术到项目中,这道题属于一个连环炮。求职者该格外小心 **求职者:**应该从App开发的需求来定义技术选型,分别...
  • 心理分析:面试官从架构层次 了解求职者是否用过 模块化 组件化 插件化,在过去经验有没有运用过这些技术到项目中,这道题属于一个连环炮。求职者该格外小心 **求职者:**应该从App开发的需求来定义技术选型,分别...
  • IntelliJ IDEA 中 Project Module 的概念及区别 版本控制 详述 IntelliJ IDEA 中的版本控制机制 插件 详述 IntelliJ IDEA 插件的安装及使用方法 创建 Maven 项目 详述 IntelliJ IDEA 创建 Maven 项目及...

空空如也

空空如也

1 2 3 4
收藏数 76
精华内容 30
关键字:

java有项目经验和没有区别

java 订阅