gson使用过程中时间格式的问题

大家好,我使用gson没多久,在使用过程中,当遇到时间相关的时候,转换有问题,网上查询好久也不得法,在此提问,还望不吝赐教。

最开始是获取到的json字串里有 "yyyy-MM-dd HH:mm:ss" 这样格式的日期时,使用默认new的一个gson对象可以解析到bean里,然后假如获取到的json的日期的格式变为 "yyyy-MM-dd" 这样后,就提示有问题了,通过搜索,知道可以通过builder来设置时间格式,这样就可以解析了。

现在问题这样的,假设获取到的json数据为{"date":"2016-12-20", "datetime":"2016-12-20 15:28:25", "time":"15:28:25"},有没有什么方式可以解析到下面的类中?

 class A{
     Date date;//"yyyy-MM-dd"
     Datetime datetime;//"yyyy-MM-dd HH:mm:ss"
     Time time;//"HH:mm:ss"
 }

1个回答

u012832006
vevinlong 题中也提到了使用builder设置格式的方法,但是对于同一条json字串,包含不同时间格式的内容还是会报错。后来使用fastjson可以解析,不过还是谢谢你
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
java中,谷歌的Gson类在解析yyyy/MM/dd格式的日期时遇到的问题

gson解析实体类时遇到个问题,接口传来的日期格式为yyyy/MM/dd, 我尝试用gson解析,得到了一个错误信息 **代码片段** ``` public static void main(String[] args) throws Exception { String str = "2019/01/01"; System.out.println(new GsonBuilder().setDateFormat("yyyy/MM/dd").create().fromJson(str, Date.class)); } ``` **控制台输出** ![图片说明](https://img-ask.csdn.net/upload/201907/16/1563267578_811716.png) 发现它直接截取了2019这个字符串来尝试进行日期转换,请问这是什么问题?有遇到类似情况的吗?目前看是因为/的问题,但不知道有啥比较常规的解决方法?

使用Gson框架制作Json时遇到的字符转义问题

第一次做后台遇到一个Json格式的问题,刚开始得到的JsonArray格式如下: [{"id":8,"account":"123456","password":"123456","name":"啦啦啦"},{"id":9,"account":"10086","password":"123456","name":"哈哈哈"}] 在返回给前端时需要弄成一个JsonObject,于是我写了一个实体类ReturnData,里面只有一个String data,然后使用Gson中的方法(json就是上面的jsonArray): ``` ReturnData returnData = new ReturnData(json); String gsonResult = gson.toJson(returnData); ``` 但是在转换时,Gson自动帮我添加了转义字符,最后结果如下: {"data":"[{\"id\":8,\"account\":\"123456\",\"password\":\"123456\",\"name\":\"啦啦啦\"} 有没有大神知道为什么会自动出现这样的转义字符,以及好一点的解决办法。

gson转换字符型的日期 date问题

前端传的"yyyy-MM-dd HH:mm:ss" 格式的字符串 ,后台转换不了:org.springframework.http.converter.HttpMessageNotReadableException: Could not read JSON: The date should be a string value; nested exception is com.google.gson.JsonParseException: The date should be a string value 后台数据date传到前端 转换成 "yyyy-MM-dd HH:mm:ss" ,但是前端"yyyy-MM-dd HH:mm:ss"传到后端 gson解析不了 。 但是 前端传这种格式就能解析转成date :"2018-08-22T02:44:09.647Z"

Android Gson转换问题

import android.R.bool; public class WebServerData { /// <summary> /// 返回数据 /// </summary> public String data; /// <summary> /// 提示消息 /// </summary> public String msg ; /// <summary> /// 是否成功 /// </summary> public bool success ; public String getData() { return data; } public void setData(String data) { this.data = data; } public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } public bool getSuccess() { return success; } public void setSuccess(bool success) { this.success = success; } } 转换: String d = msg.getData().getString("data"); Gson gson = new Gson(); gson.fromJson(d, WebServerData.class); 问题:问什么把对象中bool类型的参数去掉转换成功,有bool类型的就失败?

GSON使用toJson方法将类转为json格式字符串时的问

我在使用GSON使用toJson方法将类转为json格式字符串时* 自己定了一个对象。 Bean b=new bean(); b.setCard_id("XXXXXXXXXXXXX"); b.setMoney(3000); 调用 gson.toJson(b);是没啥问题,但是 Bean里面还设置了其他的 ,int型,例如 add_money。 但是转换出来的json语句就是{"card_id":"XXXXXXXXXXXXX","money":3000,"add_money":0} 有什么办法,规定,没有set的值不用输出 0吗?

在使用gson时,创建该对象但是不能导入Gson类

![图片说明](https://img-ask.csdn.net/upload/201604/06/1459900856_234499.png) 由于做毕设,是android项目,需要用到gson,我从github上面下载了gson-master.zip,目录和上面的图一样,我将压缩包解压后放在与我的android项目同一目录下面,然后在我的项目中创建gson对象,但是gson这个类不能导入,这个怎么解决?前段时间使用了slidingmenu,只需要关联里面的library就可以,但是这个里面没有jar文件,也没有library,希望可以得到大家的指导,谢谢

GSON解析 json转java对象问题

使用Gson将JSONObject objectObj 对象转换为Charge对象部分代码: Gson gs = new GsonBuilder().setDateFormat("yyyy-MM-dd").create(); Charge charge = gs.fromJson(objectObj.toString(), Charge.class); 问题是结果charge与objectObj结构一致但是某些字段的值不一样了!!! 详见截图,及截图中的标记信息,请大神们提供解决方案: ![图片说明](https://img-ask.csdn.net/upload/201512/07/1449492576_337791.png)

Gson解析问题对象数组问题

{ "state": 1, "msg": "成功", "data": { "reportInfo": [ { "desc": "", "type": "低洼", "houseName": "某某胡同10(号院)", "reportId": "9d731c13-317b-4c5a-85e1-109247ef8994", "status": "草稿", "owner": "王五", "commitTime": "" }, { "desc": "ssssssssssssss", "type": "低洼", "houseName": "某某胡同10(号院)", "reportId": "447b3919-3d7f-434d-aa26-6d05191cabb9", "status": "待审核", "owner": "王五", "commitTime": "" }, { "desc": "", "type": "违建", "houseName": "某某胡同10(号院)", "reportId": "e291a437-94e2-4445-bdfc-6bb6cd9c00e9", "status": "草稿", "owner": "王五", "commitTime": "" } ] } } 请问怎样用Gson解析上面那个json数据中 data中的“reportInfo”对象数组 然后放到List<ReportInfo>对象集合中。。 我有个Gosn方法 : public static Object gsonparser(String result, Type type, String tag) { try { Gson gson = new Gson(); Object obj = null; obj = gson.fromJson(new JSONObject(result).getString(tag), type); return obj; } catch (Exception e) { } return null; } 调用这个方法 Object result = GsonParser.gsonparser(s1, new TypeToken<Object>(){}.getType(),"data"); Log.w("reportInfos1",result.toString()); 得到如下结果 。。 reportInfos1: {reportInfo=[{owner=王五, desc=, houseName=某某胡同10(号院), type=低洼, status=草稿, reportId=9d731c13-317b-4c5a-85e1-109247ef8994, commitTime=}, {owner=王五, desc=ssssssssssssss, houseName=某某胡同10(号院), type=低洼, status=待审核, reportId=447b3919-3d7f-434d-aa26-6d05191cabb9, commitTime=}, {owner=王五, desc=, houseName=某某胡同10(号院), type=违建, status=草稿, reportId=e291a437-94e2-4445-bdfc-6bb6cd9c00e9, commitTime=}]} 。。。好像偏离了。。 求大神指点 怎么把reportInfo 放到已有的实体类ReportInfo集合中。。。

安卓中gson解析的小问题

在gson解析中,什么场景下使用返回对象的结果,什么场景下使用返回集合的结果?? 我见过demo中,json中有字段又有集合的,然后返回了对象,也见过有字段和集合的但是返回了集合

gson将json格式的字符串转成java对象,json字符串中long怎么转变不会报错?

# gson将json格式的字符串转成java对象,json字符串中long怎么转变不会报错? public static void main(String[] args) { long timel=12323232L; SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String time=sdf.format(timel); System.out.println(time);//正常 Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm:ss").create(); String obj="[{\"name\":\"caochuankui\",\"time\":"+timel+"}]"; JSONArray objo=new JSONArray(obj); GsonTest gt=gson.fromJson(objo.toString(), GsonTest.class);//报错 System.out.println(gt.getTime()); } } 错误信息如下: 1970-01-01 11:25:23 Exception in thread "main" com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 2 path $ at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:200) at com.google.gson.Gson.fromJson(Gson.java:810) at com.google.gson.Gson.fromJson(Gson.java:775) at com.google.gson.Gson.fromJson(Gson.java:724) at com.google.gson.Gson.fromJson(Gson.java:696) at com.pagecofig.util.GsonTest.main(GsonTest.java:67) Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 2 path $ at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:387) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:189) ... 5 more 这要怎么解决,求大神指点

Gson获得json数据数组内嵌问题

{ "resultcode": "200", "reason": "successed!", "result": { "sk": { "temp": "24", "wind_direction": "西风", "wind_strength": "2级", "humidity": "64%", "time": "17:38" }, "today": { "temperature": "19℃~25℃", "weather": "阴转小雨-中雨", "weather_id": { "fa": "02", "fb": "21" }, "wind": "旋转风微风", "week": "星期二", "city": "绵阳", "date_y": "2015年09月15日", "dressing_index": "舒适", "dressing_advice": "建议着长袖T恤、衬衫加单裤等服装。年老体弱者宜着针织长袖衬衫、马甲和长裤。", "uv_index": "最弱", "comfort_index": "", "wash_index": "不宜", "travel_index": "较适宜", "exercise_index": "较适宜", "drying_index": "" }, "future": [ { "temperature": "19℃~25℃", "weather": "阴转小雨-中雨", "weather_id": { "fa": "02", "fb": "21" }, "wind": "旋转风微风", "week": "星期二", "date": "20150915" }, { "temperature": "18℃~21℃", "weather": "中雨", "weather_id": { "fa": "08", "fb": "08" }, "wind": "东北风微风", "week": "星期三", "date": "20150916" }, { "temperature": "17℃~21℃", "weather": "中雨", "weather_id": { "fa": "08", "fb": "08" }, "wind": "东北风微风", "week": "星期四", "date": "20150917" }, { "temperature": "19℃~24℃", "weather": "小雨转阴", "weather_id": { "fa": "07", "fb": "02" }, "wind": "旋转风微风", "week": "星期五", "date": "20150918" }, { "temperature": "19℃~26℃", "weather": "阴", "weather_id": { "fa": "02", "fb": "02" }, "wind": "旋转风微风", "week": "星期六", "date": "20150919" }, { "temperature": "19℃~27℃", "weather": "阴", "weather_id": { "fa": "02", "fb": "02" }, "wind": "旋转风微风", "week": "星期日", "date": "20150920" }, { "temperature": "19℃~24℃", "weather": "阴", "weather_id": { "fa": "02", "fb": "02" }, "wind": "旋转风微风", "week": "星期一", "date": "20150921" } ] }, "error_code": 0 } 通过 Gson gson = new Gson(); Book book = gson.fromJson(result, Book.class); Log.i("info", book.getReason()); 我能够得到 reason 的success的值,但是我想要得到result里面的today里面的week的值,请问我要怎么做?数组里面嵌套着数组,我迷茫了。 book.java如下: public class Book { private String reason; public String getReason() { return reason; } public void setReason(String reason) { this.reason = reason; }}

如何将字符串编码/解码为gson

<div class="post-text" itemprop="text"> <p>I need to decode and encode strings using the <a href="https://github.com/google/gson" rel="nofollow noreferrer">gson</a> format (it's a json dialect). Below is the code I came up with so far translated from the <a href="https://github.com/google/gson/blob/master/gson/src/main/java/com/google/gson/stream/JsonWriter.java" rel="nofollow noreferrer">gson(Java) library</a> For some reasons none of the characters I try to decode/replace is actually replaced. I believe I'm doing something wrong with the character escaping(I'm new to go) so any direction/help to fix it would be appreciated.<br> <a href="https://play.golang.org/p/wQXrpmPlTt" rel="nofollow noreferrer">Go Playground</a></p> <pre><code> package main import ( "bytes" "fmt" "strings" ) const s = `https:\/\/exampple.com\/static\/_\/js\/k\x3dgaia.gaiafe_glif.en.nnMHsIffkD4.O\/m\x3dglifb,identifier,unknownerror\/am\x3dggIgAAAAAAEKBCEImA2CYiCxoQo\/rt\x3dj\/d\x3d1\/rs\x3dABkqax3Fc8CWFtgWOYXlvHJI_bE3oVSwgA` const des = `https://exampple.com/static/_/js/k=gaia.gaiafe_glif.en.nnMHsIffkD4.O/m=P9M9H,HUb4Ab,sy1m,sy1n,emo,sy1k,sy54,gsfs7c/am=ggIgAAAAAAEKBCEImA2CYiCxoQo/rt=j/d=0/rs=ABkqax3Fc8CWFtgWOYXlvHJI_bE3oVSwgA` func main() { dec, err := Decode(s, true) if err != nil { panic(err) } if dec != des { fmt.Printf("expected %v got %s", dec, des) } } type replacementChar map[rune]string func (r replacementChar) get(k rune) string { return fmt.Sprintf("\\u%04x", r[k]) } var replacement = replacementChar{ '"': "\\\"", '\\': "\\\\", '\t': "\\t", '\b': "\\b", ' ': "\ ", ' ': "\ ", '\f': "\\f", } var htmlReplacement = replacementChar{ '&lt;': "\\u003c", '&gt;': "\\u003e", '&amp;': "\\u0026", '=': "\\u003d", '\'': "\\u0027", } var extraReplacement = replacementChar{ '\u2028': "\\u2028", '\u2029': "\\u2029", } /* * From RFC 7159, "All Unicode characters may be placed within the * quotation marks except for the characters that must be escaped: * quotation mark, reverse solidus, and the control characters * (U+0000 through U+001F)." * * We also escape '\u2028' and '\u2029', which JavaScript interprets as * newline characters. This prevents eval() from failing with a syntax * error. http://code.google.com/p/google-gson/issues/detail?id=341 */ func Encode(s string, htmlSafe bool) (string, error) { buf := bytes.NewBuffer([]byte("\"")) var err error for _, r := range s { switch { case replacement[r] != "": _, err = buf.WriteString(replacement.get(r)) if err != nil { return "", err } case htmlSafe &amp;&amp; htmlReplacement[r] != "": _, err = buf.WriteString(htmlReplacement.get(r)) if err != nil { return "", err } case extraReplacement[r] != "": _, err = buf.WriteString(extraReplacement.get(r)) if err != nil { return "", err } default: _, err = buf.WriteRune(r) if err != nil { return "", err } } } buf.WriteString("\"") return buf.String(), nil } var decodeHTMLReplacementPair []string var decodeReplacementPair []string var decodeReplacementAll []string func init() { for k, _ := range htmlReplacement { decodeHTMLReplacementPair = append(decodeHTMLReplacementPair, htmlReplacement.get(k)) decodeHTMLReplacementPair = append(decodeHTMLReplacementPair, string(k)) } for k, _ := range replacement { decodeReplacementPair = append(decodeReplacementPair, replacement.get(k)) decodeReplacementPair = append(decodeReplacementPair, string(k)) } for k, _ := range extraReplacement { decodeReplacementPair = append(decodeReplacementPair, extraReplacement.get(k)) decodeReplacementPair = append(decodeReplacementPair, string(k)) decodeHTMLReplacementPair = append(decodeHTMLReplacementPair, extraReplacement.get(k)) decodeHTMLReplacementPair = append(decodeHTMLReplacementPair, string(k)) } decodeReplacementAll = append(decodeHTMLReplacementPair, decodeReplacementPair...) } func Decode(s string, htmlSafe bool) (string, error) { var r *strings.Replacer if !htmlSafe { r = strings.NewReplacer(decodeHTMLReplacementPair...) } else { r = strings.NewReplacer(decodeReplacementAll...) } return r.Replace(s), nil } /* Original Java Source https://github.com/google/gson/blob/master/gson/src/main/java/com/google/gson/stream/JsonWriter.java private static final String[] REPLACEMENT_CHARS; private static final String[] HTML_SAFE_REPLACEMENT_CHARS; static { REPLACEMENT_CHARS = new String[128]; for (int i = 0; i &lt;= 0x1f; i++) { REPLACEMENT_CHARS[i] = String.format("\\u%04x", (int) i); } REPLACEMENT_CHARS['"'] = "\\\""; REPLACEMENT_CHARS['\\'] = "\\\\"; REPLACEMENT_CHARS['\t'] = "\\t"; REPLACEMENT_CHARS['\b'] = "\\b"; REPLACEMENT_CHARS[' '] = "\ "; REPLACEMENT_CHARS[' '] = "\ "; REPLACEMENT_CHARS['\f'] = "\\f"; HTML_SAFE_REPLACEMENT_CHARS = REPLACEMENT_CHARS.clone(); HTML_SAFE_REPLACEMENT_CHARS['&lt;'] = "\\u003c"; HTML_SAFE_REPLACEMENT_CHARS['&gt;'] = "\\u003e"; HTML_SAFE_REPLACEMENT_CHARS['&amp;'] = "\\u0026"; HTML_SAFE_REPLACEMENT_CHARS['='] = "\\u003d"; HTML_SAFE_REPLACEMENT_CHARS['\''] = "\\u0027"; } private void string(String value) throws IOException { String[] replacements = htmlSafe ? HTML_SAFE_REPLACEMENT_CHARS : REPLACEMENT_CHARS; out.write("\""); int last = 0; int length = value.length(); for (int i = 0; i &lt; length; i++) { char c = value.charAt(i); String replacement; if (c &lt; 128) { replacement = replacements[c]; if (replacement == null) { continue; } } else if (c == '\u2028') { replacement = "\\u2028"; } else if (c == '\u2029') { replacement = "\\u2029"; } else { continue; } if (last &lt; i) { out.write(value, last, i - last); } out.write(replacement); last = i + 1; } if (last &lt; length) { out.write(value, last, length - last); } out.write("\""); } */ </code></pre> </div>

Gson解析泛型对象有问题

比如需要填入的对象 class A<T>{ public T aaa; } 用Gson解析的时候 已经指定了T的类型是另一个实体类,但是解析出来的 “aaa” 是一个串String

gson解析Java对象中包含对象集合不执行问题

当Gson解析Java对象中包含对象集合时,后面代码不执行 对象: private long user_id; private String user_name; private String user_password; private Date user_date; private int age; private String email; private String phone; private String user_sex; private Timestamp user_registDate; private String user_vip; private Timestamp user_vipDate; private String user_head; private Set<IpAddress> user_ips = new HashSet<IpAddress>(); 解析代码: Query query = session.createQuery("from UserInfo as u where u.phone=?0 and u.user_password=?1"); query.setParameter(0, userInfo.getPhone()); query.setParameter(1, Crypto.encryption(userInfo.getUser_password())); UserInfo user = (UserInfo) query.uniqueResult(); JsonObject json = new JsonObject(); String us = gson.toJson(user); 执行到String us = gson.toJson(user);这句时,当Ste<IpAddress>的值为一个时正常执行,当Set<IpAddress>值为多个时后面的代码不执行。

如何使用gson转换map数据为json数组

如题,我从数据库获取两行的字段内容,使用GSON的tojson的方法转换为JSON数据, //获取tplate这一列内容 ResultSet rst = db.query(); while(rst.next()){ resultMap.put(tplate, rst.getString(tplate)); } return (new Gson()).toJson(resultMap); 这是我转换一列数据的代码 但是这样只能转换最后一行的内容为JSON,现在我想把所有行的数据转换为JSON数组要怎么做到呢?,求助各位大神.

使用Gson解析Json数据

我想要解析类似:{"total":100,"rows":[{"key":"key1","value":"value1"}{"key":"key2","value":"value2"}]};这种格式的数据.试用Gson该怎么实现呢? 貌似网上没看到过这样的案例...

在Android中使用Gson解析json

public class GeRen extends Activity { private ArrayList<result> s_list; private TextView type,opendate,name,sex,enddate; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.geren); initview(); //str为网络请求到的json字符串 String str=this.getIntent().getStringExtra("key"); Log.e("TAG2", str); Gson gson = new Gson(); Datas d = gson.fromJson(str, Datas.class); setS_list(d.getResult()); // for(int i=0;i<s_list.size();i++){ // type.setText(s_list.get(i).getType()); // opendate.setText(s_list.get(i).getOpendate()); // name.setText(s_list.get(i).getName()); // sex.setText(s_list.get(i).getSex()); // enddate.setText(s_list.get(i).getEnddate()); // } } private void initview() { type=(TextView) findViewById(R.id.type); opendate=(TextView) findViewById(R.id.opendate); name=(TextView) findViewById(R.id.name); sex=(TextView) findViewById(R.id.sex); enddate=(TextView) findViewById(R.id.enddate); } } 为什么Datas d = gson.fromJson(str, Datas.class);为空 求大神解惑

安卓使用GSON解析JSON产生的问题

现在是这么个情况,我用gson解析json,用gsonformat生成了一个javabean,然后我发现我的json数据返回 的其中一个字段City,他有两种情况,如果只有一个值就用{},如果有多个值就用[],现在我不可能去给 每一个city加中括号,因为数据量太大了,有什么好的解决办法吗

android 中的 Gson 序列化

在数据库中有一些数据,我想把数据放在序列化的 JSON 格式中。使用 GSON 序列化如何实现? 我不想用获取数据然后把数据放进格式中的方法。 还有什么方法能实现呢?

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

程序员请照顾好自己,周末病魔差点一套带走我。

程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。

我以为我学懂了数据结构,直到看了这个导图才发现,我错了

数据结构与算法思维导图

String s = new String(" a ") 到底产生几个对象?

老生常谈的一个梗,到2020了还在争论,你们一天天的,哎哎哎,我不是针对你一个,我是说在座的各位都是人才! 上图红色的这3个箭头,对于通过new产生一个字符串(”宜春”)时,会先去常量池中查找是否已经有了”宜春”对象,如果没有则在常量池中创建一个此字符串对象,然后堆中再创建一个常量池中此”宜春”对象的拷贝对象。 也就是说准确答案是产生了一个或两个对象,如果常量池中原来没有 ”宜春” ,就是两个。...

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

Linux面试题(2020最新版)

文章目录Linux 概述什么是LinuxUnix和Linux有什么区别?什么是 Linux 内核?Linux的基本组件是什么?Linux 的体系结构BASH和DOS之间的基本区别是什么?Linux 开机启动过程?Linux系统缺省的运行级别?Linux 使用的进程间通信方式?Linux 有哪些系统日志文件?Linux系统安装多个桌面环境有帮助吗?什么是交换空间?什么是root帐户什么是LILO?什...

将一个接口响应时间从2s优化到 200ms以内的一个案例

一、背景 在开发联调阶段发现一个接口的响应时间特别长,经常超时,囧… 本文讲讲是如何定位到性能瓶颈以及修改的思路,将该接口从 2 s 左右优化到 200ms 以内 。 二、步骤 2.1 定位 定位性能瓶颈有两个思路,一个是通过工具去监控,一个是通过经验去猜想。 2.1.1 工具监控 就工具而言,推荐使用 arthas ,用到的是 trace 命令 具体安装步骤很简单,大家自行研究。 我的使用步骤是...

学历低,无法胜任工作,大佬告诉你应该怎么做

微信上收到一位读者小涛的留言,大致的意思是自己只有高中学历,经过培训后找到了一份工作,但很难胜任,考虑要不要辞职找一份他能力可以胜任的实习工作。下面是他留言的一部分内容: 二哥,我是 2016 年高中毕业的,考上了大学但没去成,主要是因为当时家里经济条件不太允许。 打工了三年后想学一门技术,就去培训了。培训的学校比较垃圾,现在非常后悔没去正规一点的机构培训。 去年 11 月份来北京找到了一份工...

JVM内存结构和Java内存模型别再傻傻分不清了

JVM内存结构和Java内存模型都是面试的热点问题,名字看感觉都差不多,网上有些博客也都把这两个概念混着用,实际上他们之间差别还是挺大的。 通俗点说,JVM内存结构是与JVM的内部存储结构相关,而Java内存模型是与多线程编程相关,本文针对这两个总是被混用的概念展开讲解。 JVM内存结构 JVM构成 说到JVM内存结构,就不会只是说内存结构的5个分区,而是会延展到整个JVM相关的问题,所以先了解下

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

Google 与微软的浏览器之争

浏览器再现“神仙打架”。整理 | 屠敏头图 | CSDN 下载自东方 IC出品 | CSDN(ID:CSDNnews)从 IE 到 Chrome,再从 Chrome 到 Edge,微软与...

讲一个程序员如何副业月赚三万的真实故事

loonggg读完需要3分钟速读仅需 1 分钟大家好,我是你们的校长。我之前讲过,这年头,只要肯动脑,肯行动,程序员凭借自己的技术,赚钱的方式还是有很多种的。仅仅靠在公司出卖自己的劳动时...

上班一个月,后悔当初着急入职的选择了

最近有个老铁,告诉我说,上班一个月,后悔当初着急入职现在公司了。他之前在美图做手机研发,今年美图那边今年也有一波组织优化调整,他是其中一个,在协商离职后,当时捉急找工作上班,因为有房贷供着,不能没有收入来源。所以匆忙选了一家公司,实际上是一个大型外包公司,主要派遣给其他手机厂商做外包项目。**当时承诺待遇还不错,所以就立马入职去上班了。但是后面入职后,发现薪酬待遇这块并不是HR所说那样,那个HR自...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

搜狗输入法也在挑战国人的智商!

故事总是一个接着一个到来...上周写完《鲁大师已经彻底沦为一款垃圾流氓软件!》这篇文章之后,鲁大师的市场工作人员就找到了我,希望把这篇文章删除掉。经过一番沟通我先把这篇文章从公号中删除了...

85后蒋凡:28岁实现财务自由、34岁成为阿里万亿电商帝国双掌门,他的人生底层逻辑是什么?...

蒋凡是何许人也? 2017年12月27日,在入职4年时间里,蒋凡开挂般坐上了淘宝总裁位置。 为此,时任阿里CEO张勇在任命书中力赞: 蒋凡加入阿里,始终保持创业者的冲劲,有敏锐的...

总结了 150 余个神奇网站,你不来瞅瞅吗?

原博客再更新,可能就没了,之后将持续更新本篇博客。

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

男生更看重女生的身材脸蛋,还是思想?

往往,我们看不进去大段大段的逻辑。深刻的哲理,往往短而精悍,一阵见血。问:产品经理挺漂亮的,有点心动,但不知道合不合得来。男生更看重女生的身材脸蛋,还是...

什么时候跳槽,为什么离职,你想好了么?

都是出来打工的,多为自己着想

程序员为什么千万不要瞎努力?

本文作者用对比非常鲜明的两个开发团队的故事,讲解了敏捷开发之道 —— 如果你的团队缺乏统一标准的环境,那么即使勤劳努力,不仅会极其耗时而且成果甚微,使用...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试:第十六章:Java中级开发(16k)

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

终于懂了TCP和UDP协议区别

终于懂了TCP和UDP协议区别

立即提问
相关内容推荐