struts2 Session生命周期

ssh项目,控制器使用的Struts2,action实现了SessionAware接口,用户登录后,用户信息信息保存在session中,为什么当关闭浏览器后重新打开浏览器session中的值仍然存在啊?用户sessionid不是存储到浏览器cookie进程中的吗?关闭浏览器后id就没有了,不应该打开浏览器还能取到session的值才对啊,求助大神

4个回答

关闭浏览器后打开任务管理器,看看是不是所有的浏览器进程都关闭了。再不行注销下windows登入,看看session是否没有了。
如果还有,说明你哪里错了,写到浏览器永久的cookie了。

LONG_Yi_1994
Long_Yi_1994 非常感谢!
2 年多之前 回复
LONG_Yi_1994
Long_Yi_1994 然后没等我结束进程,它自己就消失了,再打开浏览器session中的值确实没有了
2 年多之前 回复
LONG_Yi_1994
Long_Yi_1994 问题解决了,是浏览器进程的问题,我用的搜狗浏览器,关闭浏览器后打开任务管理器仍然可以看到搜狗浏览器的进程,
2 年多之前 回复

每次打开浏览器,会携带上cookie信息,服务器端会根据cookie中的sessionid获取对应的session,
这个要看你的cookie生命周期设置了多长。

仔细看下,你先给session取出来打印出日志,看看浏览器关闭后重新打开,session中的值和以前那个值是不是一样的。先排除session存储值的问题,
再看是否本地缓存之类的问题或是cookie

这个是和浏览器的版本有关系 。 老版本的浏览器是 session自动没有了, IE10以上版本的浏览器就带有保存session的功能

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
struts2 session 问题。

struts2 框架, 在一个Action 中保存一个session ,比如一个username, 跳到例外一个Action的时候,session里面的值不见了。而且两个Action的sessionId值也不同。在IE下出现这种情况 ,Firefox 没有这种问题。请问各位大神,这是个什么情况?

Struts2和Hibernate框架整合开发,怎么扩大hibernate的session的生命周期

最近学了Struts2,想和之前学的Hibernate整合在一起,自己做一个项目联系。之前单独用Hibernate框架,为了解决Hibernate懒加载的问题,是使用了OpenSessionInView的方式,即定义一个过滤器,在过滤器中打开session,开启事务。并进行了try..catch..,当发生已成的时候,可以再过滤器进行捕获,然后事务回滚。 但是如今要加上Struts2,Struts2已经有自带的异常处理了,这样子action中出的异常就无法被OpenSessionInView这个filter捕获了,那么事务就无法回滚了。这样子可能导致业务逻辑出错。如果不使用OpenSessionInView,直接在dao中开启session,关闭session。又会出现懒加载的问题。求高手指点该怎么解决。这里没有使用Spring的事务管理。 我目前的想法是自己写一个struts2拦截器,在拦截器中开启事务,处理异常。捕获异常时进行回滚,然后再抛出,让Struts2的异常拦截器处理。有没有其他好的方法?

在struts2 中如何设置httpsession 超时的时间?

最近刚刚接触struts2,struts2 对session request response application 都做了封装。比如说SessionMap 操作这些对象同操作带来方便。现在的问题是。在struts 2的 API中我只查到了 使session失效的方法。我如何设置session的超时时间呢。是否需要得到httpsession 的底层对象来操作呢。比如说 如果该用户 20分钟不做任何操作 就必须重登陆。

struts 2 里session传值的问题

为什么在JSP页面接收SESSION的值总是NULL呢 LoginAction.java public class LoginAction extends ActionSupport{//这个类继承了ActionSupport类, private String userid; private String password; public String getUserid() { return userid; } public void setUserid(String userid) { this.userid = userid; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String execute(HttpServletRequest request) throws Exception { RegisterDAO dao = new RegisterDAO(); List<User> userlist1 = dao.allUsers(); for(int i=0;i<userlist1.size();i++){ if (userlist1.get(i).getUserid().equals(this.userid)&&userlist1.get(i).getPassword().equals(this.password)){ request.getSession().setAttribute("id", this.userid); return "success"; } } return "fail"; } } struts.xml <struts> <package name="default" extends="struts-default"> <action name="login" class="bean.LoginAction"> <result name="success">/success.jsp</result> <result name="fail">/error.jsp</result> </action> </package> </struts> 主页面jsp <body> <% String b=(String)session.getAttribute("id"); out.print(b); %> </body> 结果显示null

关于struts2中Session存值的问题

我在写程序的时候 经常爱把List,MAP或者是其他变量存在session 请问这么做对系统的运行速度有没有什么问题 假如对系统有影响的话 值应该存在什么范围里

servlet如何调用同一项目中的struts2中的session

本人小白 struts2中使用session是ServletActionContext.getRequest().getSession().setAttribute("userid", "123"); ServletActionContext.getRequest().getSession().getAttribute("userid"); 那么servlet如何调用获取或者设置他。。 求大神帮忙。 补充一下:struts2和servlet公用一个session也可以。

struts2中session在不同action中的使用

大家好,我遇到一个这样的问题,希望大家能帮我。 我的意图很简单,在登录的action中,把管理员的用户名(或者管理员用户对象)装入session,然后在操作其他action时将这个用户名取出来,插入数据库,因为数据库每个表都有个字段“修改者”,修改者对应的值就是用户名了,所以几乎要在每个action中都要调用session。 我在网上找了,大多数是两种方法,我用的是这种方法: public class AdminAction extends ActionSupport implements SessionAware{ //省略代码.... private Map session; public Map getSession() { return session; } public void setSession(Map session) { this.session = session; } 在action中的Login方法我这样写: //省略代码 Admin admin1=new Admin(); admin1.setAdminName(adminname); admin1.setAdminPassword(adminpassword); session.put(admin1,admin1); System.out.println(session.get(admin1)); adminname和adminpassword是有值的 输出结果是:com.wckj.model.Admin@144b624 1.怎么输出adminname的值出来? 2.在其他action中要怎样才能取到adminname的值呢?

struts2的no session 问题

开发环境是struts2+hibernate+spring,entity使用annotation注解,而且测试的是[b]单表结[/b]构client表,但是总出下面的问题,提示找不到property。代码如下: 2009-03-07 11:15:23,593 [http-8080-1] ERROR org.hibernate.LazyInitializationException - could not initialize proxy - no Session org.hibernate.LazyInitializationException: could not initialize proxy - no Session at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:86) [hibernate-core-3.3.1.GA.jar:3.3.1.GA] at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:140) [hibernate-core-3.3.1.GA.jar:3.3.1.GA] at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:190) [hibernate-core-3.3.1.GA.jar:3.3.1.GA] at org.testWeb.entity.Client_$$_javassist_0.getTelphone(Client_$$_javassist_0.java) [Client.class:na] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [na:1.5.0_11] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [na:1.5.0_11] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [na:1.5.0_11] at java.lang.reflect.Method.invoke(Unknown Source) [na:1.5.0_11] at ognl.OgnlRuntime.invokeMethod(OgnlRuntime.java:517) [ognl-2.6.11.jar:na] at ognl.OgnlRuntime.getMethodValue(OgnlRuntime.java:931) [ognl-2.6.11.jar:na] at ognl.ObjectPropertyAccessor.getPossibleProperty(ObjectPropertyAccessor.java:53) [ognl-2.6.11.jar:na] at ognl.ObjectPropertyAccessor.getProperty(ObjectPropertyAccessor.java:121) [ognl-2.6.11.jar:na] at com.opensymphony.xwork2.ognl.accessor.ObjectAccessor.getProperty(ObjectAccessor.java:17) [xwork-2.1.2.jar:na] at ognl.OgnlRuntime.getProperty(OgnlRuntime.java:1643) [ognl-2.6.11.jar:na] at com.opensymphony.xwork2.ognl.accessor.CompoundRootAccessor.getProperty(CompoundRootAccessor.java:106) [xwork-2.1.2.jar:na] at ognl.OgnlRuntime.getProperty(OgnlRuntime.java:1643) [ognl-2.6.11.jar:na] at ognl.ASTProperty.getValueBody(ASTProperty.java:92) [ognl-2.6.11.jar:na] at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:170) [ognl-2.6.11.jar:na] at ognl.SimpleNode.getValue(SimpleNode.java:210) [ognl-2.6.11.jar:na] at ognl.Ognl.getValue(Ognl.java:333) [ognl-2.6.11.jar:na] at ognl.Ognl.getValue(Ognl.java:310) [ognl-2.6.11.jar:na] at com.opensymphony.xwork2.ognl.OgnlUtil.getValue(OgnlUtil.java:196) [xwork-2.1.2.jar:na] at com.opensymphony.xwork2.ognl.OgnlValueStack.findValue(OgnlValueStack.java:229) [xwork-2.1.2.jar:na] at org.apache.struts2.dispatcher.StrutsRequestWrapper.getAttribute(StrutsRequestWrapper.java:82) [struts2-core-2.1.6.jar:na] at org.apache.jasper.runtime.PageContextImpl.doFindAttribute(PageContextImpl.java:462) [jasper.jar:na] at org.apache.jasper.runtime.PageContextImpl.findAttribute(PageContextImpl.java:452) [jasper.jar:na] at javax.servlet.jsp.el.ScopedAttributeELResolver.getValue(ScopedAttributeELResolver.java:53) [jsp-api.jar:na] at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53) [el-api.jar:na] at org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:61) [jasper-el.jar:na] at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186) [jasper-el.jar:na] at org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:925) [jasper.jar:na] at org.apache.jsp.WEB_002dINF.jsp.client_002dinput_jsp._jspService(client_002dinput_jsp.java:172) [testWeb/:na] at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) [jasper.jar:na] at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) [servlet-api.jar:na] at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374) [jasper.jar:na] at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342) [jasper.jar:na] at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267) [jasper.jar:na] at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) [servlet-api.jar:na] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) [catalina.jar:na] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:na] at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:630) [catalina.jar:na] at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436) [catalina.jar:na] at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374) [catalina.jar:na] at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302) [catalina.jar:na] at org.apache.struts2.dispatcher.ServletDispatcherResult.doExecute(ServletDispatcherResult.java:154) [struts2-core-2.1.6.jar:na] at org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:186) [struts2-core-2.1.6.jar:na] at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:361) [xwork-2.1.2.jar:na] at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:265) [xwork-2.1.2.jar:na] at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:89) [xwork-2.1.2.jar:na] at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) [xwork-2.1.2.jar:na] at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:89) [xwork-2.1.2.jar:na] at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) [xwork-2.1.2.jar:na] at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:122) [xwork-2.1.2.jar:na] at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) [xwork-2.1.2.jar:na] at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195) [xwork-2.1.2.jar:na] at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87) [xwork-2.1.2.jar:na] at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) [xwork-2.1.2.jar:na] at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195) [xwork-2.1.2.jar:na] at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87) [xwork-2.1.2.jar:na] at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) [xwork-2.1.2.jar:na] at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:148) [xwork-2.1.2.jar:na] at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) [xwork-2.1.2.jar:na] at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:93) [struts2-core-2.1.6.jar:na] at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) [xwork-2.1.2.jar:na] at org.apache.struts2.interceptor.FileUploadInterceptor.intercep 哪位高手朋友可以帮忙看下,我已经试过好多次了,还是这样,感激。。

struts2无法获取request、session和application属性值

## 今天写作业:前台发送action到后台,利用ActionContext和ServletActionContext获取web资源,分别给request、session和application赋值属性,再返回前台页面,并显示对应的属性值。 ## 输出时无法显示request、session和application属性值。麻烦各位大神帮我看看谢谢。 ![图片说明](https://img-ask.csdn.net/upload/201609/21/1474442409_169557.png) ![图片说明](https://img-ask.csdn.net/upload/201609/21/1474442419_203928.png) # ParameterAction.java package cn.edu.xmut.action; import java.util.Map; import org.apache.struts2.ServletActionContext; import com.opensymphony.xwork2.Action; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport; public class ParameterAction extends ActionSupport{ private static final long serialVersionUID = 1L; private String rp; private String sp; private String ap; public String add(){ return Action.SUCCESS; } @SuppressWarnings("unchecked") public String save(){ //1、ActionContext Map requestMap=(Map)ActionContext.getContext().get("request");//获取request的map requestMap.put("param", rp); ActionContext.getContext().getSession().put("param", sp); //获取session的map ActionContext.getContext().getApplication().put("param", ap); //获取application的map //2、ServletActionContext ServletActionContext.getRequest().setAttribute("param", rp); ServletActionContext.getRequest().getSession().setAttribute("param", sp); ServletActionContext.getServletContext().setAttribute("param", ap); return Action.SUCCESS; } //省略getter和setter方法 } # Struts.xml ``` <action name="parameter_add" class="cn.edu.xmut.action.ParameterAction" method="add"> <result name="success">add.jsp</result> </action> <action name="parameter_save" class="cn.edu.xmut.action.ParameterAction" method="save"> <result name="success">save.jsp</result> </action> <action name="parameter)*" class="cn.edu.xmut.action.ParameterAction" method="{1}"> <result name="success">{1}.jsp</result> </action> ``` # add.jsp ![图片说明](https://img-ask.csdn.net/upload/201609/21/1474442430_674939.png) # save.jsp ![图片说明](https://img-ask.csdn.net/upload/201609/21/1474442445_915944.png) # index.jsp ![图片说明](https://img-ask.csdn.net/upload/201609/21/1474442458_195024.png) 谢谢各位大哥了。

是用struts2在jsp页面取session作用域的值

session作用域中存储了一个实体类new出来的对象,对象里面存储了map集合,集合中还有一个实体类对象,怎么获取这个实体类对象的值?

servlet和struts2中获取sesssion的方式问题

如题 看在servlet直接request.getsession就能得到session,而在struts2中需要用ServletActionContext.getrequest().getsession()来得到session。 求大神指点,这2个有什么异同? 小弟非常感谢!

Struts2里使用Token

1注册页面(提交注册信息)2出错页面(用户名重复),点击返回注册页面,表单没有刷新,再填写信息提交注册,提示已重复提交, 由于在ACTION里跑了1遍,SESSION里重新生成了Token值,而页面并没有,所以重复提交了,怎么解决这个问题呢 ??

struts2中session的问题

问题描述: 两个系统的联调:从另外一个系统传过来一个userBean,里面有个标识,就是表示的登陆状态status(userBean.getStatus()),主要目的是做权限验证。我的系统在一Action(该action继承一个自定义的父action,父action继承ActionSupport)的execute方法中接收这个userBean,想在Action中把该对象放到session里,当访问该Action对应的jsp时,会可能多次回到该Action中去,于是就产生一个问题:当回到该Action中时,他会重新执行一遍接收userBean的代码,这个不是我想要的,到底该怎么做才好呢? 小弟菜鸟,问题描述的可能不是很清楚,大家担待着点儿~~

在struts2框架下整合 axis webService 出现服务被struts2拦截问题

大家好, 我在 struts2 的web项目下使用 axis 的webService服务, 测试发现 struts2 的拦截器拦截webService的服务访问路径, 比如我的webService服务访问路径: http://127.0.0.1:8080/net/services/NetService, 当我进行 webService服务测试时, struts2就会拦截 http://127.0.0.1:8080/net/services/NetService, 提示说: not action mapping for services/NetService等信息。 在 struts2 下该如何不让 struts2拦截我的 webService 服务路径??

在struts2中,jsp页面中,如和通过if表达式,将session中为null的值附上一个整数

如图: ``` <div class="megas512" style="margin-top: 15px;"> <div> <a href="selectByPageId_User.shtml?currentPage=1">首页</a> <a href="selectByPageId_User.shtml?currentPage=<%=session.getAttribute("prepage")%>">上一页</a> <a href="selectByPageId_User.shtml?currentPage=<%=session.getAttribute("nextpage")%>">下一页</a> <a href="selectByPageId_User.shtml?currentPage=totalPage">尾页</a> </div> </div> ``` 因为我页面第一次进入的时候方法走的不是分页查询的方法,导致上一页、下一页显示为null,这个应该如何进行判断,就是当上一页、下一页里面的session值为null的时候,分别赋值1和2.拜托。想了很久,就是没有想出来应该怎么搞。

hibernate+struts2 留言板访问问题 session is closed

使用hibernate和struts2做留言板时,在tomcat服务上发布之后,第一次登录访问,可以在数据库中查询数据。但是如果这个时候注销或者撤回重新登陆另外一个id,就会报错session is closed目标锁定到是getcurrentSession()或者事务的问题,因为改为opensession()之后,一切正常。。求大神啊

[紧急]Struts2中session的问题

问题描述:在登录的时候验证登录者的用户名和密码,通过的话则把此人的所有信息作为一个对象存在session中,并提供一个类专门从session中获取当前登陆者的信息,但是提供的getCurrentStaffInfo()方法会报空指针错误,原因是session中找不到以"user_bean" 为键的值,本人实在是找不到原因,还请各位指点。 问题重现: 1.登录的Action [code="java"] public class LoginAction extends ActionSupport implements SessionAware { ...... public String execute() throws Exception { //保存用户信息 StaffInfoBean staffInfo = UserInfoDAO.getInstance().getUserInfo(getStaff_id(), ""); session.put("user_bean", staffInfo); //AccessControl类负责提供从session中取用户信息的方法 AccessControl.getInstance().setSession(session); return "success"; } ...... } [/code] 2.提供了session中取用户信息的AccessControl类 [code="java"] public class AccessControl extends ActionSupport implements Serializable, SessionAware { ...... private static AccessControl instance; private Map session; public AccessControl() { } public static AccessControl getInstance() { if (instance == null) { instance = new AccessControl(); } return instance; } /** * 获取当前登录人员的信息 * * @return StaffInfoBean对象 */ public StaffInfoBean getCurrentStaffInfo() { return (StaffInfoBean) ServletActionContext.getRequest().getSession().getAttribute("user_bean"); } /** * 保存session对象 */ public void setSession(Map session) { this.session = session; } ...... } [/code] [b]问题补充:[/b] (congjl2002)的ServletActionContext.getRequest().getSessionMap().put("user_bean", staffInfo);这个有问题,ServletActionContext.getRequest()返回的对象中是没有getSessionMap()方法的。

struts2中session的疑问

// 上传图片 public String upload() throws Exception { // 实现上传 // 将成功上传的图片名 放在session中 ,用于前台表单显示,并统一提交 String imageName=Common.upload(getFile(), getFileFileName()); List<String> imageNames=(List<String>)session.get("imageNames"); if(imageNames==null){ imageNames=new ArrayList<>(); imageNames.add(imageName); session.put("imageNames", imageNames); }else{ imageNames.add(imageName); session.put("imageNames", imageNames); } System.out.println("session 中imageNames:"+ActionContext.getContext().getSession().get("imageNames")); return upload; } public String manage() throws Exception { System.out.println(ActionContext.getContext().getSession().get("imageNames")); return manage; } 如上:upload方法使用 swfupload 插件上传图片,并将图片名保存在session中用于前台显示,这个方法中的 ActionContext.getContext().getSession().get("imageNames")是可以拿到值的; 而在同一个action中的manage 方法中同样的方法从session中拿到的值 却为空,什么原因啊? 同样jsp 页面中 使用ognl 表达式也没有值。

Struts2在Action中取Session中值的迷茫

我在LoginActon 中用 [code="java"]ServletActionContext.getRequest().getSession().setAttribute("user",user);[/code] 传递的User对象 在另外Action取User,用 [code="java"]User user = (User) ServletActionContext.getRequest().getSession().getAttribute("user");[/code] 好像只能在public String execute()方法中能得到 而在该Action中的另外方法不能得到,老是返回空指针异常 希望哪位大侠能指点下迷津

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

今年,我也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内存模型别再傻傻分不清了

讲一讲什么是Java内存模型 Java内存模型虽说是一个老生常谈的问题 ,也是大厂面试中绕不过的,甚至初级面试也会问到。但是真正要理解起来,还是相当困难,主要这个东西看不见,摸不着。 这是一个比较开放的题目,面试官主要想考察的是对Java内存模型的了解到了什么程度了,然后根据回答进行进一步的提问 下面,我们就这个问题的回答列一下我们的思路 具体的思路如下: 说一说Java内存模型的缘由 简略辨析...

和黑客斗争的 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协议区别

立即提问
相关内容推荐