Bendi新闻
>
一行代码,我优化掉了1G内存占用
一行代码,我优化掉了1G内存占用
3月前
阿里妹导读
背景
正文
public class StringPoolDeserializer implements ObjectDeserializer {
"unchecked") (
public <T> T deserialze(DefaultJSONParser parser, Type type, Object o) {
if (!type.equals(String.class)) {
throw new JSONException("StringPoolDeserializer can only deserialize String");
}
return (T) ((String) parser.parse(o)).intern();
}
public int getFastMatchToken() {
return 0;
}
}
public class StringPoolMap extends HashMap<String, String> {
public String put(String key, String value) {
if (key != null) {
key = key.intern();
}
if (value != null) {
value = value.intern();
}
return super.put(key, value);
}
}
写在最后
多写一点,String.intern()的实现
‒尝试把this放进一个池子里,如果里面内容相等的东西已经存在了,则返回那个已经存在的地址。
JNIEXPORT jobject JNICALL
Java_java_lang_String_intern(JNIEnv *env, jobject this)
{
return JVM_InternString(env, this);
}
JNIEXPORT jobject JNICALL
Java_java_lang_String_intern(JNIEnv *env, jobject this)
{
return JVM_InternString(env, this);
}
oop StringTable::intern(Handle string_or_null_h, const jchar* name, int len, TRAPS) {
unsigned int hash = java_lang_String::hash_code(name, len);
// 分别在shared table 和local table中查找有无存在的string
// 找到则快速返回
oop found_string = lookup_shared(name, len, hash);
if (found_string != nullptr) {
return found_string;
}
if (_alt_hash) {
hash = hash_string(name, len, true);
}
found_string = do_lookup(name, len, hash);
if (found_string != nullptr) {
return found_string;
}
// 没有找到的话,则创建并塞入
return do_intern(string_or_null_h, name, len, hash, THREAD);
}
网站静态资源访问加速
本方案使用阿里云CDN产品来分发OSS上的网站静态文件,不仅可以降低源站的负载压力,还能够提升网站的访问性能,同时还能在高并发场景下为您节约成本。快点击阅读原文查看详情。
微信扫码关注该文公众号作者
来源:阿里云开发者
相关新闻
Adam有了mini版:内存占用少一半,吞吐量提升50%联创用 ChatGPT 写的一行代码让公司损失上万美元!网友:老板自己写的,找不到人背锅了24GB单卡全量微调Llama 3-8B,仅需添加一行代码ICLR 2024 | 阐明扩散模型中的曝光偏差问题,一行代码大幅提升生成质量纽约司机注意!最高$250!新规生效!占用公交道将被自动罚款!专挑周末开会检查占用基层干部正常休息时间!新疆公开通报4起整治形式主义为基层减负典型问题ECCV 2024 | SparseOcc:纯稀疏3D占用网络和RayIoU评估指标中国信息协会信息服务网络委员会领导一行莅临锐捷网络参观没英文!没身份!华人被逼无奈只能做这一行,没想到遭同胞残忍剥削!秋爽大和尚与净因大和尚一行访问斯里兰卡,并与留学僧座谈大温老司机注意!警方严厉打击占用公交车道,2周开出344张罚单!这些地方是重点北京市人大常委会党组副书记、副主任齐静一行莅临智合调研小面积家庭在Costco买啥?这10类被低估食品物超所值,不占用太多空间违者罚$50-$250,MTA严打占用公交车道江西一女老师在批改语文作业时,看到一行字,立即报警:我的学生杀人了!今晨罗兰岗发生致命车祸!一行人横穿马路被撞死63岁华男被捕!大批无身份华人为了还债做起这一行当!其实很多人已被盯上!千万别被骗了!车停自家院子要交“资源占用费”?这里农村引入物业管理,“不少租户搬走了……”昆明市司法局党委副书记、副局长秦芸一行莅临IGQC调研linux查看端口占用情况年入6位数!生活重压之下,澳洲很多女性转入这一行,包括华人!差距太大了, 纽约这一行当,白人挣一块, 亚裔挣8分!差距太大了,纽约这一行当,白人挣一块,亚裔挣8分!北京市大兴区产促中心党组书记、主任马燕珠一行莅临IGQC调研指导