O exemplo deste artigo resume o uso em Java. Compartilhe para todos para sua referência. A análise específica é a seguinte:
1. Definição de interface de canal:
Canal de interface pública {public boolean isopen ();
2. Tipos comuns de canal:
FileChannel, Socketchannel, ServerSocketchAnnel e DataGramChannel;
O FileChannel é inicializado através do getChannel () do RandomAccessFile, FileInputStream, FileOutputStream.
Socketchannel SC = Socketchannel.Open ();
3.Scatter/Gather, deve usar bytebuffer.alocatedirect (100)
interface pública ScatteringByTechannel estende LegableTechannel {public Long Read (ByteBuffer [] DSTS) lança IoException; SRCS) lança ioexcepion;
4. O bloqueio do arquivo está relacionado ao arquivo, não ao canal. Pode ser eficaz para processos, não threads. Você pode implementar a sincronização do thread através do arquivo mapeado de memória
5.buffer = filechannel.map (filechannel.mapmode.read_only, 100, 200);
6. O MAPPEDBYTEBUFFER é direto. Force () coloca os dados nivelados no disco rígido.
7. O sistema DataGramChannel da porta não ligada alocará automaticamente portas. DataGramChannel's Connect () garantirá que apenas pacotes de dados com endereços de origem especificados sejam garantidos. Neste momento, você pode usar métodos de leitura e asa comuns, incluindo dispersão/coleta
Espera -se que este artigo seja útil para o design do programa Java de todos.