回忆录

Posted 初见

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了回忆录相关的知识,希望对你有一定的参考价值。

1.数据库连接

1.    交叉连接:返回连接的两个表的笛卡尔积,返回结果的行数等于两个表行的乘积。

语法三种形式:

(1)SELECT * FROM TABLE_A CROSS JOIN TABLE_B

[WHERE 条件]  

(2)SELECT * FROM TABLE_A JOIN TABLE_B

[WHERE 条件]

(3)SELECT * FROM TABLE_A, TABLE_B

[WHERE 条件] 

2.内连接:合并具有同一列的两个以上的表的行, 结果集中不包含一个表与另一个表不匹配的行。

语法:

SELECT <列名>

FROM 表1  INNER  JOIN  表2

ON 表1.列名  条件运算符  表2.列名

[WHERE 条件]

[ORDER BY  排序列]

3.外连接:

n ——左外联结   (LEFT JOIN)

左外连接使用LEFT JOIN连接两表,连接时左表为主表,左表中的每条记录必定出现在结果集中,而在右表中没有对应的记录,将以NULL值进行填充。

——右外联结   (RIGHT JOIN)

右外连接与外连接相似,不同的是右表为主表,右表中的每条记录必定出现在结果集中,而在左表中没有对应的记录,将以NULL值进行填充。

外连接与普通连接的区别

q 普通连接操作只输出满足连接条件的元组

q 外连接操作以指定表为连接主体,将主体表中不满足连接条件的元组一并输出

 

2.Length

(1) 针对数组是属性

(2) 针对字符串是方法

3.javascript的三大组成部分是:

1、ECMAScript:JavaScript的核心,描述了语言的基本语法(var、for、if、array等)和数据类型(数字、字符串、布尔、函数、对象(obj、[]、{}、null)、未定义),ECMAScript是一套标准,定义了一种语言(比如JS)是什么样子。

2、文档对象模型(DOM):DOM(文档对象模型)是 html 和 XML 的应用程序接口(API)。DOM 将把整个页面规划成由节点层级构成的文档。HTML 或 XML 页面的每个部分都是一个节点的衍生物。请考虑下面的 HTML 页面:

<html>

  <head>

    <title>Sample Page</title>

  </head>

  <body>

    <p>hello world!</p>

  </body>

</html>

这段代码可以用 DOM 绘制成一个节点层次图:

DOM 通过创建树来表示文档,从而使开发者对文档的内容和结构具有空前的控制力。用 DOM API 可以轻松地删除、添加和替换节点(getElementById、childNodes、appendChild、 innerHTML)。

3、浏览器对象模型(BOM)对浏览器窗口进行访问和操作。例如弹出新的浏览器窗口,移动、改变和关闭浏览器窗口,提供详细的网络浏览器信息(navigator object),详细的页面信息(location object),详细的用户屏幕分辨率的信息(screen object),对cookies的支持等等。BOM作为JavaScript的一部分并没有相关标准的支持,每一个浏览器都有自己的实现,虽然有一些非事实的标准,但还是给开发者带来一定的麻烦。

4.用jQuery的ajax提交登录信息

// 登陆

function loginAjax(param) {

    var self = this;

    $.ajax({

        type: ‘post‘,

        url: ‘/user/login‘,

        dataType: ‘json‘,

        data: param,

        success: function(data) {

             

        },

        error: function(error) {

        console.log(error);

        }

    })

}

1.以上是一个登录的Ajax方法,参数说明

  url:  请求的链接地址

  data: 请求的参数 以json格式传递 例如:{username: ‘name‘, password: ‘123456‘}

  type: 请求方法  常用的是 get 或者post , 默认为get请求。 

  dataType: 预期服务器返回的数据类型

 

2.以下是jQuery官方文档中的一段ajax请求代码:

 

$.ajax({

   type: "POST",

   url: "some.php",

   data: "name=John&location=Boston",

   success: function(msg){

     alert( "Data Saved: " + msg );

   }

});

5.getParameter和getAttribute的区别

今天有朋友问这个问题,在这里总结下:

1.getAttribute是取得jsp中 用setAttribute設定的attribute 

2.parameter得到的是string;attribute得到的是object 
3.request.getParameter()方法传递的数据,会从Web客户端传到Web服务器端,代表HTTP请求数据;request.setAttribute()和getAttribute()方法传递的数据只会存在于Web容器内部,在具有转发关系的Web组件之间共享。即request.getAttribute()方法返回request范围内存在的对象,而request.getParameter()方法是获取http提交过来的数据。

 

总结:

getattribute一般在前台用与获取后台转发值

getParameter一般在后台用于获取前台请求值

getParameter  返回的是String 用于读取参数中的值;       
getAttribute   返回的是Object,需进行转换,可用setAttribute设置成任意对象,使用很灵活,可随时用;

getParameter  获取请求值      
getAttribute   获取转发值

6.java中怎样将char和String相互转换

窝窝军团Ly58 | 浏览 16519 次 问题未开放回答

推荐于2016-08-11 16:51:16

最佳答案

String str=“abcdef”;
char[] ch=st.toCharArray();

char c = ‘a‘;
String str = String.valueOf(c);

7.Mybatis

Mybatis持久化层,操作数据库

最基本的持久化:文件操作,IO操作

8.析构函数

析构函数(destructor) 与构造函数相反,当对象结束其生命周期时(例如对象所在的函数已调用完毕),系统自动执行析构函数。析构函数往往用来做“清理善后” 的工作(例如在建立对象时用new开辟了一片内存空间,delete会自动调用析构函数后释放内存)。

 

析构函数简介

以C++语言为例:[1]  析构函数名也应与类名相同,只是在函数名前面加一个位取反符~,例如~stud( ),以区别于构造函数。它不能带任何参数,也没有返回值(包括void类型)。只能有一个析构函数,不能重载。如果用户没有编写析构函数,编译系统会自动生成一个缺省的析构函数(即使自定义了析构函数,编译器也总是会为我们合成一个析构函数,并且如果自定义了析构函数,编译器在执行时会先调用自定义的析构函数再调用合成的析构函数),它也不进行任何操作。所以许多简单的类中没有用显式的析构函数。

C++语言析构函数格式

C++当中的析构函数格式如下:

1

2

3

4

5

6

7

8

9

class <类名>

{

     public:

       ~<类名>();

};

<类名>::~<类名>()

{

    //函数体

};

如以下定义是合法的:

1

2

3

4

5

6

7

8

9

class T

{

   public:

    ~T();

};

    T::~T()

{

    //函数体

};

当程序中没有析构函数时,系统会自动生成以下析构函数:

<类名>::~<类名>(){},即不执行任何操作。

 

9.Scanner的next()和nextLine()区别

next():

一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,next()方法会自动将其去掉,只有在输入有效字符之后,next()方法才将其后输入的空格键、Tab键或Enter键等视为分隔符或结束符。简单地说,next()查找并返回来自此扫描器的下一个完整标记。完整标记的前后是与分隔模式匹配的输入信息,所以next方法不能得到带空格的字符串。nextLine():

方法的结束符只是Enter键,即nextLine()方法返回的是Enter键之前的所有字符,它是可以得到带空格的字符串的。

10.父类引用指向子类对象

例如父类Animal,子类Cat,Dog。其中Animal可以是类也可以是接口,Cat和Dog是继承或实现Animal的子类。

Animal animal = new Cat();

即声明的是父类,实际指向的是子类的一个对象。

11. java运算符优先级

 

单目乘除为关系,逻辑三目后赋值

 

单目:单目运算符+ -(负数) ++ --等

乘除:算数单目运算符 * / % + -

为:位移单目运算符 <<  >>

关系:关系单目运算符 > < >= <= == !=

逻辑:逻辑单目运算符 &&  ||  &  |  ^

三目:三目单目运算符A>B?X:Y

后:无意义,仅仅为了凑字数

赋值:赋值=

12.清空session

session.removeAttribute("sessionname")是清除SESSION里的某个属性.   
  session.invalidate()是让SESSION失效.   
  或许你可以用getAttributeNames来得到所有属性名,然后再removeAttribute  

我是如下在Spring中实现的:

 private void initSession(HttpServletRequest request){

  Enumeration em = request.getSession().getAttributeNames();

  while(em.hasMoreElements()){

   request.getSession().removeAttribute(em.nextElement().toString());

  }

 }

 

以上是关于回忆录的主要内容,如果未能解决你的问题,请参考以下文章

架构师回忆录の非主流面试攻略(解析高性能开发工具附代码)

很早的一部外国电影片段音乐有骑白马在大海边有海浪声和海鸥鸣叫

代码回忆

竞赛回忆录

python学习笔记回忆录

回忆继承多态