反编译:java代码中含有同步和异常的反编译前后代码对照的一个例子(xiongjy)

本文介绍了一个同步发送消息的方法,该方法通过使用synchronized关键字确保线程安全,并处理了IOException和NullPointerException等异常情况。方法中涉及了socket通信,通过连接对象conn的输出流bout写入头部和主体字节数据并刷新。
     public    int  sendRep()                    
    
{                                    
        
int i =0;                            
        
synchronized(conn)                    
        
{                                
            
try                            
            
{                            
                conn.bout.write(headbytes);        
                conn.bout.write(bodybytes);        
                conn.bout.flush();                
            }
                            
            
catch(IOException e)                
            
{                            
                System.out.println(e.toString());    
                i 
= -5;                        
                
return i;                    
            }
                            
            
catch(NullPointerException npe)    
            
{                        
                i 
= -5;                
                
return -5;                
            }
                        
                                    
        }
                                
        
return i;                            
    }
                                    
                                        
                                    
                                    
                                    
                                    
                                    
                                    
            public   int  sendRep()                          
        
{                                                                
            
int i = 0;                                                 
            cmppSocket cmppsocket 
= conn;           
            JVM INSTR monitorenter ;                       
            conn.bout.write(headbytes);                   
            conn.bout.write(bodybytes);                  
            conn.bout.flush();                                   
              
goto _L1                                              
            IOException e;                                        
            e;                                                          
            System.out.println(e.toString());             
            i 
= -5;                                                    
            
return i;                                                  
            NullPointerException npe;                        
            npe;                                                       
            i 
= -5;                                                    
            
-5;                                                         
            cmppsocket;                                          
            JVM INSTR monitorexit ;                         
            
return;                                                   
    _L1:                                                               
            cmppsocket;                                          
            JVM INSTR monitorexit ;                         
              
goto _L2                                              
            Exception exception;                              
            exception;                                              
            cmppsocket;                                          
            JVM INSTR monitorexit ;                         
            
throw exception;                                    
    _L2:                                                               
            
return i;                                                  
        }
                                                                
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值