博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java && C++
阅读量:2182 次
发布时间:2019-05-01

本文共 3148 字,大约阅读时间需要 10 分钟。

一, java基本:

Java:

   JAVA 基础知识

   缓存技术(刷新机制)

   多线程(并发处理): ThreadPool;  thread local;

   网络编程(通信)NIO

   事务处理(分布式处理机制)

   并发处理机制

   接口与抽线类   

   JRE 优化

    JVM: classloader, classreflect, 垃圾回收;

   JMS: java 消息服务;分布式应用程序中,松耦合的分布式通信;模式:队列(一对一),主题(多对多, 发布者/订阅者); 同步(RMI只能同步)与异步; 类似于JDBC,与厂商无关的API; 消息(JMS中的一种类型对象: 报头 + 消息主题);

   GUI:  AWT(大多线程安全, 与平台有关,组件自动销毁); Swing(纯java写的 JFC的一部分, 以AWT为基础,支持自动销毁,线程不安全); SWT(是一个低级的GUI工具包, SWT不支持组件自动销毁,线程不安全;Jface不是java技术的标准)

   Servlet 线程安全

   函数被重写原理 
       首先弄明白JAVA中的四个特性:组合、继承、重载、重写。组合:一个类引用另一个类,而实际运行中,继承其实就是隐式的组合,也就是在子类中保存一个实例对象super,并指向父类。 所以,函数被重写的原理就是:在执行中,如需调用某方法,先在子类中找,如果没找到,则会去在父类中找,如果找到了,也就是重载了。 
   集合类的分类 
        collection(list<arrayList\linkendList\vector>set<>) map(hashMap\hashTable\weakHashTable) 

        set list都实现collection 三者都为接口 不可实例化 

        HASH的原理: hash其实就是以空间换时间 将至转成HASH值 根据数组长度取余 将余数作为该数据数组下标 如果被占用 则重新HASH+1 数组是线性结构中定位最快的 

    线程 
         线程的不同实现: 继承thread或者实现runnable 
                THREAD和RUNNABLE的区别和关系 
                     thread为继承类 runnable为接口 
                     Thread运行在父类的run方法中,Runnable运行在实现Runnable接口的子类对象run方法中。 
                     runnable可以打破一个类只能继承一个父类的局限性且适合资源共享 
                     thread也是实现runnable 
      Reflection如何使用,在什么情况下用 
             反射是JAVA的特性之一,能够通过getClass 获取到某一个Class对象 ,并查看该Class的基本情况;Spring 利用IOC也是反射的实现; Hibernate不就是用的反射吗 利用反射可以改变类的属性! 
    Java 死锁,如何解决 
        JAVA中死锁   这玩意儿一般原因都很复杂的 根本没有万金油式的解决方案好吗 我们能做的只能避免 慎用synchronize 多线程是尽量按顺序执行 

  架构

    UML: OOA/OOD; 

    设计模式: Gof

    JEE:

    Hadhop: Apache 开发的分布式系统基础架构;  HDFS(Hadhoop Distributed File System); MapReduce(海量数据提供计算)。  

    MVC:

        JSP(V)+ servlet(C) + DAO(M)

         JSP(V)+ struts(V) + Spring(C) + Hibernate(M)

        JSP(V) + servlet(C) + Javabean(M)

    SSH:  struts,  spring, Hibernate

       Spring: Aop面向切面; IOC控制反转;即时容器也是框架;轻量级的开源框架; 不仅负责管理bean的生命周期(容器的功能), 也负责某些基础设置的搭建(国际化, 异常处理等);   struts 2 与 Hibernate框架可以放到此容器中;

       Struts: struts 2;   web应用的MVC部分;

       Hibernate: ORM; 关系映射;  数据持久层的部分;

  Javascript:

   Ajax:Asynochronous javascript and xml  

      XHR: 同步/异步    XMLHttpRequest

   JQuery

 others:

   client程序: Applet,GUI(Swing, AWT, SWT), javabean

   java ORM:  Hibernate/iBates, Toplink

   DB: MySQL,  Oracle, SQLServer

   网页架构:   JSF, Struts, webwork

   中间件技术:   JavaEE,  CORBA;

   XML API:  JAXP(java API for XML); DOM4j, JDOM;

   Java 构建 webservice: JAX-RPC, SAAJ

   轻量级应用框架:  Spring, 

   J2EE:   JNDI, JMS, JTA/JTS, JMX, javaMail

   EJB:   stateless/stateful session Bean;  Entity Bean; MDB;

   J2EE应用服务器:  Weblogic, JBoss, 

   API:  log4j, JGroups,  JCache

   代码生成工具:   XDoclet

   单元测试:   JUnit/JNunit, 

   生成部署工具:  ANT, MAVEN;

    

二, JAVA & C++

  1, 内存管理:  java简单, 比 c++易用,  java 有GC;   c++ 更灵活,高效;

  2, 多线程: java方法简单, 锁定粗粒度(文件,或者类); c++复杂;  java语言级别支持, c++11 才语言级别支持;

  3, 网络编程: java 更方便,快捷;

  4, java 无头文件, 无类外全局变量;

  5, java不支持宏, 而是使用final定义类常量;

  6, java每种结果固定长度, int 32 位, long 64 位;

  7, java中午类型转换,  运行时进行 类型相容性检查;

  8, java 无多重继承,  但可以继承多个接口;

  9, java 无结构和联合;  java 无运算符重载, 有方法重载;

  10, java 无预处理功能, 但引入了import关键字;

  11, java无单独函数封装的哦类中;

  12, java try {..}  catch() { ...}   finally {...}

  13, java中无默认参数一说

  14, java 不支持析构函数,   增加了finalize() 函数, 做析构的事情;

  15, java 不支持typedef,  不支持goto,  无delete;    java 只支持应用传递;

  16, java 有包的概念, package 代替c++里面的命名空间;

  17, java 增加 >>> 实现无符号的右移;

  18, java 内置string, 语言级支持;

  19, java无作用域 :: 运算符;

  20, java中所有的主类型, 只能用堆上的new创建

  21, java不必提前声明方法;

  22, java 对基本类型的数据成员初始化为null 或 0;

  23, java 但根制,  只有一个根object

  24, java 无模板  或 参数化 类型 的其他形式;

  25, java 没有显示规定, 默认是 friendly,  包内的类可以使用/访问;

  26, java 不存在inline 方法;

  27, java提供interface 关键字,   implements 关键字;

  28, java提供对注释文档的  内建支持;

转载地址:http://jttkb.baihongyu.com/

你可能感兴趣的文章
Centos7 安装curl(openssl)和libxml2
查看>>
Centos7 离线安装RabbitMQ,并配置集群
查看>>
Centos7 or Other Linux RPM包查询下载
查看>>
运行springboot项目出现:Type javax.xml.bind.JAXBContext not present
查看>>
Java中多线程向mysql插入同一条数据冲突问题
查看>>
Idea Maven项目使用jar包,添加到本地库使用
查看>>
FastDFS集群架构配置搭建(转载)
查看>>
HTM+CSS实现立方体图片旋转展示效果
查看>>
FFmpeg 命令操作音视频
查看>>
问题:Opencv(3.1.0/3.4)找不到 /opencv2/gpu/gpu.hpp 问题
查看>>
目的:使用CUDA环境变量CUDA_VISIBLE_DEVICES来限定CUDA程序所能使用的GPU设备
查看>>
问题:Mysql中字段类型为text的值, java使用selectByExample查询为null
查看>>
程序员--学习之路--技巧
查看>>
解决问题之 MySQL慢查询日志设置
查看>>
contOS6 部署 lnmp、FTP、composer、ThinkPHP5、docker详细步骤
查看>>
TP5.1模板布局中遇到的坑,配置完不生效解决办法
查看>>
PHPstudy中遇到的坑No input file specified,以及传到linux环境下遇到的坑,模板文件不存在
查看>>
TP5.1事务操作和TP5事务回滚操作多表
查看>>
composer install或composer update 或 composer require phpoffice/phpexcel 失败解决办法
查看>>
TP5.1项目从windows的Apache服务迁移到linux的Nginx服务需要注意几点。
查看>>