Java程序员之JS(一) 之 JQuery.ajax
背景:紧着现在项目的需要,先从JQuery.ajax出发,主要需求是通过 js 调用Java 代码,从而适应现在的项目。
先从几个概念开始讲解:
一. 什么是Deferred
Deferred 对象是由.Deferred构造的, .Deferred被实现为简单工厂模式。它是用来解决JS中的异步编程,遵循 Common Promise/A规范,实现此规范的还有when.js 和 dojo.
Deferred 对象在 JQuery 1.5被引入,用来解决 Ajax 异步优化问题,正是由于 Deferred 的 引入,Ajax 相关代码可读性大大提高,替代了回调函数的概念。
详细讲解请查看转载文: 读jQuery之二十(Deferred对象)--(转)
二. 什么是 Promise (中文“承诺”)
Promise 是规范; Promise 规范的代码只有100多行,实际 Promise 只有100行代码;现如今高版本的浏览器已经原生实现了 Promise。
下面是 Promise/A++规范:
1. 一个Promise可能有三种状态:等待(pengding)、已完成(fulled)、已拒绝(rejected);
2. 一个Promise的状态只可能从“等待”转到“完成”态或者“拒绝”态,不能逆向转化,同时“完成”态和“拒绝”态不能相互转换;
3. promise 必须实现 then 方法(可以说then就是promise的核心),而且then 必须返回一个promise, 同一个promise 的then可以调用多次,并且毁掉的执行顺序和他们被调用的顺序一致;
4. then 方法接受两个参数,第一个参数是成功时的毁掉,在promise由“等待”态转换到“完成”态时调用,另一个是失败时的回调,在promise由“等待”态转换到“拒绝”态时调用。同时,then可以接受另一个 promise 传入,也接受一个“类then”的对象或方法,即thenable对象;
详细讲解请查看转载文: JavaScript Promise启示录--(转)
三. jQuery.ajax() 函数详解
jQuery.ajax() 用于通过后台HTTP请求加载远程数据;
jQuery.ajax() 函数是 jQuery封装的 AJAX技术,通过该函数我们无需刷新当前页面即可获取远程服务器上的数据;
jQuery.ajax() 函数属于全局的Ajax 函数(也可以理解为静态函数);
语法
jQuery 1.0 新增该静态函数。jQuery.ajax()
函数有以下两种用法:
用法一:jQuery.ajax( [ settings ] ] )
用法二:jQuery.ajax( url [, settings ] ] )。jQuery 1.5 新增支持该用法
用法二是用法一的变体,它只是将参数对象settings
中的可选属性url
单独提取出来作为一个独立的参数。
参数
url:String类型 URL请求字符串。
settings: 可选/Object类型一个Object对象,其中的每个属性用来指定发送请求所需的额外参数设置。
参数settings是一个对象,jQuery.ajax()可以识别该对象的以下属性(它们都是可选的):
参数 | 类型 | 描述 |
accepts | Object |
默认值:取决于dataType 属性; 说明:发送的内容类型请求头,用于告诉服务器——浏览器可以接收服务器返回何种类型的响应; |
async | Boolean |
默认值:true; 说明:指示是否是异步请求。同步请求将锁定浏览器,直到获取到远程数据后才能执行其他操作; |
beforeSend | Function | 说明:指定在请求发送前需要执行的回调函数。该函数还有两个参数:其一是jqXHR对象,其二是当前settings对象。这是一个Ajax事件,如果该函数返回false,将取消本次ajax请求。 |
cache | Boolean |
默认值:true(dataType为'script'或'jsonp'时,则默认为false); 说明:指示是否缓存URL请求。如果设为false将强制浏览器不缓存当前URL请求。该参数只对HEAD、GET请求有效(POST请求本身就不会缓存)。 |
complete |
Function/Array |
说明:指定请求完成(无论成功或失败)后需要执行的回调函数。该函数还有两个参数:一个是jqXHR对象,一个是表示请求状态的字符串('success'、 'notmodified'、 'error'、 'timeout'、 'abort'或'parsererror')。这是一个Ajax事件。从jQuery 1.5开始,该属性值可以是数组形式的多个函数,每个函数都将被回调执行。 |
contents | Object | 1.5新增;说明:一个以"{字符串:正则表达式}"配对的对象,用来确定jQuery将如何解析响应,给定其内容类型; |
contentType | String |
默认值:'application/x-www-form-urlencoded; charset=UTF-8'。 说明:使用指定的内容编码类型将数据发送给服务器。W3C的XMLHttpRequest规范规定charset始终是UTF-8,你如果将其改为其他字符集,也无法强制浏览器更改字符编码。 |
context | Object | 说明:用于设置Ajax相关回调函数的上下文对象(也就是函数内的this指针)。 |
converters | Object |
1.5新增; 默认值:{'* text': window.String, 'text html': true, 'text json': jQuery.parseJSON, 'text xml': jQuery.parseXML}。 说明:一个数据类型转换器。每个转换器的值都是一个函数,用于返回响应转化后的值。 |
crossDomain | Boolean |
1.5新增;默认值:同域请求为false,跨域请求为true; 说明:指示是否是跨域请求,如果你想在同一域中强制跨域请求(如JSONP形式),请设置为true。例如,这允许服务器端重定向到另一个域。 |
data | 任意类型 | 说明:发送到服务器的数据,它将被自动转为字符串类型。如果是GET请求,它将被附加到URL后面。 |
dataFilter | Function | 说明:指定处理响应的原始数据的回调函数。该函数还有两个参数:其一表示响应的原始数据的字符串,其二是dataType属性字符串。 |
dataType |
String |
默认值:jQuery智能猜测,猜测范围(xml、 json、 script或html); 说明:指定返回的数据类型。该属性值可以为:
|
error |
Function/Array |
说明:指定请求失败时执行的回调函数。该函数有3个参数:jqXHR对象、 请求状态字符串(null、 'timeout'、 'error'、 'abort'和'parsererror')、 错误信息字符串(响应状态的文本描述部分,例如'Not Found'或'Internal Server Error')。这是一个Ajax事件。跨域脚本和跨域JSONP请求不会调用该函数。 |
global | Boolean |
默认值:true。 |
headers | Object |
默认值:{}; 说明:以对象形式指定附加的请求头信息。请求头X-Requested-With: XMLHttpRequest将始终被添加,当然你也可以在此处修改默认的XMLHttpRequest值。headers中的值可以覆盖beforeSend回调函数中设置的请求头(意即beforeSend先被调用)。 $.ajax({ |
ifModified | Boolean | 默认值:false;
说明:允许当前请求仅在服务器数据改变时获取新数据(如未更改,浏览器从缓存中获取数据)。它使用HTTP头信息Last-Modified来判断。从jQuery 1.4开始,他也会检查服务器指定的'etag'来确定数据是否已被修改。 |
isLocal | Boolean |
1.5.1新增;默认值:取决于当前的位置协议。 |
jsonp | String | 说明:重写JSONP请求的回调函数名称。该值用于替代"url?callback=?"中的"callback"部分。 |
jsonpCallback |
String/Function |
说明:为JSONP请求指定一个回调函数名。这个值将用来取代jQuery自动生成的随机函数名。
从jQuery 1.5开始,你也可以指定一个函数来返回所需的函数名称。 |
mimeType | String | 1.5.1新增;说明:一个 mime 类型,用于覆盖 XHR 的 mime 类型; |
password | String | 说明:用于响应 HTTP 访问认证请求的密码; |
processData | Boolean |
默认值:true; 说明:默认情况下,通过data属性传递进来的数据,如果是一个对象(技术上讲,只要不是字符串),都会处理转化成一个查询字符串,以配合默认内容类型 "application/x-www-form-urlencoded"。如果要发送 DOM树信息或其它不希望转换的信息,请设置为false。 |
scriptCharset | String | 说明:设置该请求加载的脚本文件的字符集。只有当请求时dataType为"jsonp"或"script",并且type是"GET"才会用于强制修改charset。这相当于设置<script>标签的charset属性。通常只在当前页面和远程数据的内容编码不同时使用。 |
statusCode | Object |
1.5新增; 默认值:{}; 说明:一组数值的HTTP代码和函数构成的对象,当响应时调用了相应的代码。例如: $.ajax({ |
success | Function/Array | 说明:指定请求成功后执行的回调函数。该函数有3个参数:请求返回的数据、响应状态字符串、jqXHR对象。从jQuery 1.5开始,该属性值可以是数组形式的多个函数,每个函数都将被回调执行 |
timeout | Number | 说明:设置请求超时的毫秒值; |
traditional | Boolean | 说明:如果你希望使用传统方式来序列化参数,将该属性设为true。 |
type | String |
默认值:"GET"; 说明:请求类型,可以为'POST'或'GET'。注意:你也可以在此处使用诸如'PUT'、'DELETE'等其他请求类型,但它们不被所有浏览器支持; |
url | String | 默认值:当前目标URL;说明:请求的目标URL; |
username | String | 说明:用于响应HTTP访问认证请求的用户名 |
xhr | Function |
默认值:在IE下是ActiveXObject(如果可用),在其他浏览器中是XMLHttpRequest。 |
xhrFields | Object | 1.5.1新增;说明:一个具有多个"字段名称-字段值"对的对象,用于对本地XHR对象进行设置。一对「文件名-文件值」在本机设置XHR对象。例如,如果需要,你可以用它来为跨域请求设置XHR对象的withCredentials属性为true。
$.ajax({ 注意: |
返回值
jQuery.ajax()函数的返回值为jqXHR类型,返回当前该请求的jqXHR对象(jQuery 1.4及以前版本返回的是原生的XMLHttpRequest对象)。
事例 & 说明
如果没有给jQuery.ajax()
指定任何参数,则默认请求当前页面,并且不对返回数据进行处理。
jQuery.ajax()
函数的settings
对象中,常用的属性有:url、type、async、data、dataType、success、error、complete、beforeSend、timeout等。
请参考下面这段初始HTML代码:
<div id="content"></div>
以下是与jQuery.ajax()
函数相关的jQuery示例代码,以演示jQuery.ajax()
函数的具体用法:
$.ajax({
url: "jquery_ajax.php"
, type: "POST"
, data: "name=codeplayer&age=18"
, success: function( data, textStatus, jqXHR ){
// data 是返回的数据
// textStatus 可能为"success"、"notmodified"等
// jqXHR 是经过jQuery封装的XMLHttpRequest对象
alert("返回的数据" + data);
}
}); $.ajax({
url: "jquery_ajax.php?page=1&id=3"
, type: "POST"
// jQuery会自动将对象数据转换为 "name=codeplayer&age=18&uid=1&uid=2&uid=3"
, data: { name:"codeplayer", age:18, uid: [1, 2, 3] }
// 请求成功时执行
, success: function( data, textStatus, jqXHR ){
alert("返回的数据" + data);
}
// 请求失败时执行
, error: function(jqXHR, textStatus, errorMsg){
// jqXHR 是经过jQuery封装的XMLHttpRequest对象
// textStatus 可能为: null、"timeout"、"error"、"abort"或"parsererror"
// errorMsg 可能为: "Not Found"、"Internal Server Error"等
alert("请求失败:" + errorMsg);
}
}); // 将url单独提取出来作为第一个参数(jQuery 1.5+才支持)
$.ajax("jquery_ajax.php?action=type&id=3", {
dataType: "json" // 返回JSON格式的数据
, success: function( data, textStatus, jqXHR ){
// 假设返回的字符串数据为{ "name": "CodePlayer", age: 20 }
// jQuery已帮我们将该JSON字符串转换为对应的JS对象,可以直接使用
alert( data.name ); // CodePlayer
}
}); $.ajax( {
// 注意这里有个参数callback=?
url: "http://cross-domain/jquery_ajax.php?name=Jim&callback=?&age=21"
, async: false // 同步请求,发送请求后浏览器将被锁定,只有等到该请求完成(无论成功或失败)后,用户才能操作,js代码才会继续执行
, dataType: "jsonp" // 返回JSON格式的数据
, success: function( data, textStatus, jqXHR ){
// 假设返回的字符串数据为{ "site_name": "CodePlayer", "site_desc": "专注于编程开发技术分享" }
// jQuery已帮我们将该JSON字符串转换为对应的JS对象,可以直接使用
alert( data.site_desc ); // 专注于编程开发技术分享
}
}); $.ajax( {
// 加载指定的js文件到当前文档中
url: "http://code.jquery.com/jquery-1.8.3.min.js"
, dataType: "script"
});
以上jQuery.ajax()部分参考:http://www.365mini.com/page/jquery_ajax.htm
四. 将 Deferred 和 Promise 运用在jQuery.ajax()应用实例
jQuery 发送的所有 Ajax 请求,内部都会通过 $.ajax() 函数来实现。通常没有必要直接调用这个函数,可以使用已经封装好的几个简便方法,如 .load()、$.get() 、getJSON()、getScript()和post() 。如果你需要用到那些不常用的选项,那么, $.ajax()使用起来更灵活。
概念说明
jqXHR 对象:从 jQuery 1.5开始,$.ajax() 返回 jqXHR 对象,改对象是浏览器原生的 XMLHttpRequert 对象的一个超集。例如他包含 reponseText 和 reponseXML 属性,以及一个 getResponseHeader() 方法。当传输机制不是XMLHttpRequeet时 (例如,一个JSONP请求脚本,返回一个脚本 tag 时),jqXHR 对象尽可能的模拟原生的XHR功能。
从 jQuery 1.5 开始, $.ajax() 返回的 jqXHR 对象实现了 Promise接口,使它拥有了Promise 的所有属性,方法和行为,为了让回调函数的名称统一,便于在 $.ajax() 中使用。jqXHR 也提供 .error()、.success() 和 .complete() 方法。这些方法都带有一个参数,改参数是一个函数,此函数在 $.ajax() 请求结束时被调用,并且这个函数接收的参数,与调用 $.ajax() 函数时的参数是一致的。这将允许你在一次请求时,对多个回调函数进行赋值,甚至允许你在请求已经完成后,对回调函数进行赋值(如果该请求已经完成,则回调函数会被立刻调用).
- jqXHR.done(function(data, textStatus, jqXHR){});
一个可供选择的 success 回调选项的构造函数, .done() 方法取代了jqXHR.success()方法。
- jqXHR.fail(function(jqXHR, textStatus, errorThrown){});
一种可供选择的 error 回调选项的构造函数, .fail() 方法取代了.error()方法。
- jqXHR.always(function(data|jqXHR, textStatus, jqXHR|errorThown){});
一种可供选择的 complete 回调选项的构造函数, .always() 方法取代 .complete()方法。
在响应一个成功的请求后,改函数的参数和.done的参数是相同的:data, textStatus, 和 jqXHR 对象。对于失败的请求,参数和 .fail() 的参数是相同的:jqXHR对象,textStatus, 和 errorThown。
- jqXHR.then(function(data, textStatus, jqXHR){}, function(jqXHR, textStatus, errorThown){});
包含了 .done() 和 .fail() 方法的功能,(从jQuery1.8开始)允许底层被操作。
推荐使用的注意事项:jqXHR.success(), jqXHR.error() 和 jqXHR.complete() 回调从 jQuery 1.8开始被弃用。他们讲最终被取消,您的代码应做好准备,使用 jqXHR.done()、 jqXHR.fail() 和jqXHR.always() 代替。
// Assign handlers immediately after making the request,
// and remember the jqxhr object for this request
var jqxhr = $.ajax( "example.php" )
.done(function() { alert("success"); })
.fail(function() { alert("error"); })
.always(function() { alert("complete"); }); // perform other work here ... // Set another completion function for the request above
jqxhr.always(function() { alert("second complete"); });
this 在所有的回调中的引用,是这个对象在传递给.ajax的设置中上下文,如果没有指定 context (上下文),this 引用的是 Ajax 设置的本身。
为了向后兼容 XMLHttpRequest, 一jqXHR 对象将公开下列属性和方法:
- readyState
- status
- statusText
- responseXML and/or responseText 当底层的请求分别作出 XML和/或文本响应
- setRequestHeader(name, value) 从标准出发,通过替换旧的值为新的值,而不是替换的新值到旧值
- getAllResponseHeaders()
- getReponseHeader()
- abort()
事例 & 说明
1). load(url, [data], [callback]) -- 返回值 jQuery:载入远程HTML文件代码并插入至 DOM 中;
- url: 待装入 HTML 网页网址(必填参数);
- data: 发送至服务器的 key/value数据(在jquery 1.3中也可以接受一个字符串)(可选参数);
- callback: 载入成功时回调函数(可选参数);
默认情况使用 GET 方式 - 传递附加参数时自动转换为 POST 方式。
//一个参数 默认为"GET"方式
$("#links").load("/Main_Page #p-Getting-Started li"); //data有数据之后,变为"SET"方式
$("#feeds").load("feeds.php", {limit: 25}, function(){
alert("The last 25 entries in the feed have been loaded");
});
2). jQuery.get(url, [data], [callback], [type]) -- 返回值XMLHttpRequest: 通过远程 HTTP GET请求载入信息。
- URL: 待载入页面的URL地址(必填参数);
- data: 待发送 key/value 参数(可选参数);
- callback: 载入成功时回调函数(可选参数);
- type: 返回内容格式, xml、html、script、json、text、_default(可选参数)。
这是一个简单的get 请求功能以取代复杂 $.ajax()。请求成功时可调用回调函数。如果需要在出错时执行函数,则使用 $.ajax。
//一个参数(请求 text.php页面, 忽略返回值)
$.get("test.php"); //两个参数(请求 text.php页面, 忽略返回值)
$.get("test.php", { name: "John", time: "2pm" } ); $.get("test.php", function(data){
alert("Data Loaded: " + data);
}); //三个参数(显示 test.cgi 返回值(HTML 或 XML,取决于返回值),添加一组请求参数)
$.get("test.cgi", { name: "John", time: "2pm" },
function(data){
alert("Data Loaded: " + data);
});
3). jQuery.getJSON(url, [data], [callback]) -- 返回XMLHttpRequest: 通过HTTP Get 载入Json 数据。
- url: 发送请求地址(必填参数);
- data: 待发送 Key/value 参数(可选参数);
- callback: 载入成功时回调函数(可选参数);
在 jQuery 1.2 中,您可以通过使用JSONP形式的回调函数来加载其他网域的JSON数据,如 "myurl?callback=?"。jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。 注意:此行以后的代码将在这个回调函数执行前执行。
//从 Flickr JSONP API 载入 4 张最新的关于猫的图片。
$.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=?", function(data){
$.each(data.items, function(i,item){
$("<img/>").attr("src", item.media.m).appendTo("#images");
if ( i == 3 ) return false;
});
}); //从 test.js 载入 JSON 数据并显示 JSON 数据中一个 name 字段数据
$.getJSON("test.js", function(json){
alert("JSON Data: " + json.users[3].name);
}); //从 test.js 载入 JSON 数据,附加参数,显示 JSON 数据中一个 name 字段数据。
$.getJSON("test.js", { name: "John", time: "2pm" }, function(json){
alert("JSON Data: " + json.users[3].name);
});
4). jQuery.getScript(url, [callback]) -- 返回XMLHttpRequest:通过 HTTP GET 请求载入并执行一个 JavaScript 文件。
- url: 待载入 JS 文件地址。
- callback: 成功载入后回调函数。
jQuery 1.2 版本之前,getScript 只能调用同域 JS 文件。 1.2中,您可以跨域调用 JavaScript 文件。注意:Safari 2 或更早的版本不能在全局作用域中同步执行脚本。如果通过 getScript 加入脚本,请加入延时函数。
//载入 <a title="http://jquery.com/plugins/project/color" class="external text" href="http://jquery.com/plugins/project/color">jQuery 官方颜色动画插件</a> 成功后绑定颜色变化动画。 HTML 代码:
<button id="go">» Run</button>
<div class="block"></div> jQuery.getScript("http://dev.jquery.com/view/trunk/plugins/color/jquery.color.js", function(){
$("#go").click(function(){
$(".block").animate( { backgroundColor: 'pink' }, 1000)
.animate( { backgroundColor: 'blue' }, 1000);
});
}); //加载并执行 test.js
$.getScript("test.js"); //加载并执行 test.js ,成功后显示信息。
$.getScript("test.js", function(){
alert("Script loaded and executed.");
});
5). jQuery.post(url, [data], [callback], [type]) -- 返回XMLHttpRequest:通过远程 HTTP POST 请求载入信息。
- url:发送请求地址。
- data:待发送 Key/value 参数。
- callback:发送成功时回调函数。
- type:返回内容格式,xml, html, script, json, text, _default。
这是一个简单的 POST 请求功能以取代复杂 $.ajax 。请求成功时可调用回调函数。如果需要在出错时执行函数,请使用 $.ajax。
//请求 test.php 网页,忽略返回值
$.post("test.php"); //请求 test.php 页面,并一起发送一些额外的数据(同时仍然忽略返回值):
$.post("test.php", { name: "John", time: "2pm" } ); //向服务器传递数据数组(同时仍然忽略返回值):
$.post("test.php", { 'choices[]': ["Jon", "Susan"] }); //使用 ajax 请求发送表单数据:
$.post("test.php", $("#testform").serialize()); //输出来自请求页面 test.php 的结果(HTML 或 XML,取决于所返回的内容):
$.post("test.php", function(data){
alert("Data Loaded: " + data);
}); //向页面 test.php 发送数据,并输出结果(HTML 或 XML,取决于所返回的内容):
$.post("test.php", { name: "John", time: "2pm" },
function(data){
alert("Data Loaded: " + data);
}); //获得 test.php 页面的内容,并存储为 XMLHttpResponse 对象,并通过 process() 这个 JavaScript 函数进行处理:
$.post("test.php", { name: "John", time: "2pm" },
function(data){
process(data);
}, "xml"); //获得 test.php 页面返回的 json 格式的内容:
$.post("test.php", { "func": "getNameAndTime" },
function(data){
alert(data.name); // John
console.log(data.time); // 2pm
}, "json");
6. jQuery.ajax(url,[settings]) -- 返回值XMLHttpRequest --通过 HTTP 请求加载远程数据
jQuery 底层 AJAX 实现。简单易用的高层实现见 $.get, $.post 等。$.ajax() 返回其创建的 XMLHttpRequest 对象。大多数情况下你无需直接操作该函数,除非你需要操作不常用的选项,以获得更多的灵活性。
最简单的情况下,$.ajax()可以不带任何参数直接使用。
注意,所有的选项都可以通过$.ajaxSetup()函数来全局设置。
//保存数据到服务器,成功时显示信息。
$.ajax({
method: "POST",
url: "some.php",
data: { name: "John", location: "Boston" }
}).done(function( msg ) {
alert( "Data Saved: " + msg );
}); //装入一个 HTML 网页最新版本。
$.ajax({
url: "test.html",
cache: false
}).done(function( html ) {
$("#results").append(html);
}); //发送 XML 数据至服务器。设置 processData 选项为 false,防止自动转换数据格式
var xmlDocument = [create xml document];
var xmlRequest = $.ajax({
url: "page.php",
processData: false,
data: xmlDocument
}); xmlRequest.done(handleResponse); //发送id作为数据发送到服务器, 保存一些数据到服务器上, 并通一旦它的完成知用户。 如果请求失败,则提醒用户。
var menuId = $("ul.nav").first().attr("id");
var request = $.ajax({
url: "script.php",
method: "POST",
data: {id : menuId},
dataType: "html"
}); request.done(function(msg) {
$("#log").html( msg );
}); request.fail(function(jqXHR, textStatus) {
alert( "Request failed: " + textStatus );
}); //载入并执行一个JavaScript文件.
$.ajax({
method: "GET",
url: "test.js",
dataType: "script"
});
Java程序员之JS(一) 之 JQuery.ajax的更多相关文章
- Java程序员之JS(一) 入门
背景:使用了JS做一个 WEB 项目之后,一直有使用JS 的一个功能,突然某一天项目重新规划,开始自己手动写一些原始JS,情况不妙,原来之前一直是用同事搭建好的框架在开发,对 JS 零基础的我一直在 ...
- java程序员理解js中的闭包
1.闭包概念: 就是函数内部通过某种方式访问一个函数内部的局部变量 再次理解: 闭包产生原因: 1.内部函数引用了外部函数的变量 作用:延长局部变量的生命周期 让函数外部可以调用到函数内部的数据 利用 ...
- 做为一个Java程序员,你需要哪些傍身的技能?
最近总有些断断续续的思考,想想从我入行以来,我到底学会了什么,做成过什么,以后要做什么,如何提升自己······· 工作3年了,常听人说3年,5年,10年是程序员的坎,每过一个都会有新的想法,新的改变 ...
- 作为一名JAVA程序员应该有怎样的就业思维
想要成为合格的Java程序员或工程师到底需要具备哪些专业技能,在面试之前到底需要准备哪些东西呢?面试时面试官想了解你的什么专业技能,以下都是一个合格JAVA软件工程师所要具备的. 一.专业技能 1.熟 ...
- (转)java程序员进入名企需要掌握哪些,立一个flag
想要成为合格的Java程序员或工程师到底需要具备哪些专业技能,在面试之前到底需要准备哪些东西呢?面试时面试官想了解你的什么专业技能,以下都是一个合格Java软件工程师所要具备的. 一.专业技能 熟练的 ...
- Java程序员修炼之路
作者简介:王成委,CSDN知识库特邀编辑,Java高级工程师,熟悉Java编程语言和Oracle数据库.专注于高并发架构设计和大数据存储方向的研究. 我们为什么选择Java 大多数人选择Java可能只 ...
- java程序员面试经历(不忘初心,永不放弃,方得始终)。
其实一直想静下心好好写一点博客,记录下青春,但一直忙于学习,写bug.....转眼间2017只剩下最后几天,岁月无情划过,不留痕迹,唯有稀疏地中海.哈哈,本篇文章主要是想分享下刚毕业入门找工作的一点小 ...
- java程序员的就业指导(重点)
想要成为合格的Java程序员或工程师到底需要具备哪些专业技能,面试者在面试之前到底需要准备哪些东西呢?本文陈列的这些内容既可以作为个人简历中的内容,也可以作为面试的时候跟面试官聊的东西,你可以把这些内 ...
- Java已五年1—二本物理到前端实习生到Java程序员「回忆贴」
关键词:郑州 二本 物理专业 先前端实习生 后Java程序员 更多文章收录在码云仓库:https://gitee.com/bingqilinpeishenme/Java-Tutorials 前言 没有 ...
随机推荐
- 一台服务器的IIS绑定多个域名
等待十分钟: 在IIS上配置:
- 做网站用UTF-8还是GB2312?
经常我们打开外国网站的时候出现乱码,又或者打开很多非英语的外国网站的时候,显示的都是口口口口口的字符, WordPress程序是用的UTF-8,很多cms用的是GB2312. ● 为什么有这么多编码? ...
- Linux:Aircrack-ng
Aircrack-ng 工具主要有 airmon-ng 处理网卡工作模式 airodump-ng 抓包 aircrack-ng 破解 aireplay-ng 发包,干扰 另外还要用到以下 linux ...
- oracle的JOB
前文再续,上面说的oracle的JOB,近期有些体会,记录一下: 零.创建JOB 创建JOB 1)创建一个存储过程.逻辑处理都在这个存储过程里面. 2)创建一个JOB运行此存储过程 -- 创建tabl ...
- Iphone 消息通知(APNS)的3种方式 -- C# 和 nodejs
发送 APNS 使用 p12 文件(C#) public static bool PushWithP12(string apnToken, string message) { _log.DebugFo ...
- 【剑指offer】整数中1出现的次数,C++实现
原创博文,转载请注明出处!本题牛客网地址 博客文章索引地址 博客文章中代码的github地址 # 题目 # 思路 分析1在数字中出现的规律.设数字N = abcde ,其中abcde分别为十进制中各位 ...
- JAVA多线程----用--死锁
(1) 互斥条件:一个资源每次只能被一个进程使用.(2) 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放.(3) 不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺.(4) ...
- mysql 时间转换 用EXCEL实现MySQL时间戳格式和日期格互转
今天项目表中需要导入好几w条数据 ,但日期由两个一个是标准时间一个为时间戳,程序中搜索是根据时间戳来搜索的,所以在网上翻箱倒柜的终于找到解决之道了,利用excel转换时间戳 时间戳转成正常日期的公式: ...
- Ubuntu中apt-get安装或更新软件错误的解决办法
$su #apt-get clean #cd /var/lib/apt #mv lists lists.back #mkdir -p lists/partial #apt-get clean #apt ...
- JSON简介[转]
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 易于人阅读和编写.同时也易于机器解析和生成. 它基于JavaScript Programming Lan ...